
I like this fix. But can I ask about this in `Unify.hs`: {{{ - go _ _ = maybeApart -- See Note [Lists of different lengths are MaybeApart] + go _ _ = surelyApart + -- Possibly different saturations of a polykinded tycon (See Trac #15704) }}} I don't see where in this ticket we discuss "possibly different saturations of a polykinded tycon".
It'd be more direct simply to give an example. Do you have in mind
#15704: Different saturations of the same polymorphic-kinded type constructor aren't seen as apart types -------------------------------------+------------------------------------- Reporter: mniip | Owner: mniip Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler (Type | Version: 8.6.1 checker) | Resolution: | Keywords: TypeFamilies Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: #9371 | Differential Rev(s): Phab:D5206 Wiki Page: | -------------------------------------+------------------------------------- Comment (by mniip): Replying to [comment:8 simonpj]: this?
{{{ T :: forall k. Type -> k
ty1 = T Type Int :: Type ty2 = T (Type->Type) Int Int :: Type }}} Or did you have other examples in mind?
Thanks
The `D` in the ticket is a polykinded tycon: {{{#!hs ty1 = D @(Type -> Type) Int :: Type ty2 = D @(Type -> Type -> Type) Int Bool :: Type }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15704#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler