
It looks to me that the runtime representation of `x` and `y` can't be known at compile time -- these arguments are levity-polymorphic, which is
#13929: GHC panic with levity polymorphism -------------------------------------+------------------------------------- Reporter: vagarenko | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.2.2 Component: Compiler | Version: 8.2.1-rc2 Resolution: | Keywords: TypeInType, | LevityPolymorphism Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by vagarenko): Replying to [comment:12 goldfire]: problematic. Do you see otherwise? `x, y :: f p` where `f :: Type -> Type` and `p :: Type` so they are always lifted, right? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13929#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler