{-@ LIQUID "--expect-any-error" @-} module T1657 where {-@ data I

Bool> = I _ @-} data I = I Int {-@ getI :: forall

Bool>. { {x: Int

| True} <: {x:Int | x > 0} } I

@-} getI :: I getI = I 7 {-@ shouldPass :: I<{\z -> true}> @-} shouldPass :: I shouldPass = getI