:load test/prop-impredicative/prop-impredicative.disco :type exists (x:Prop). x and (3 > 2) :type forall (x:Prop). (true ==> x) :type forall (f: N -> Prop). f 3 :type forall (f: List(Prop) -> N). 3 == 3 -- Should reinstate these later once we can analyze whether a type synonym has a certain sort -- First one should be OK, second should not. -- :type forall (f: T(N) -> N). f (left ()) == 2 -- :type forall (f: T(Prop) -> N). f (left ()) == 2