purescript-0.12.0: tests/purs/passing/1110.purs
module Main where
import Prelude
import Effect.Console (log)
data X a = X
x :: forall a. X a
x = X
type Y = { x :: X Int }
test :: forall m. Monad m => m Y
test = pure { x: x }
type Z t = forall x. t x -> (forall a. t a) -> t x
class C t where c :: Z t
instance cA :: C Array where
c x _ = x
test2 :: forall m. Monad m => m { ccc :: Z Array }
test2 = pure { ccc: (c :: Z Array) }
main = log "Done"