-
Notifications
You must be signed in to change notification settings - Fork 571
Closed
Description
As discussed on slack, there seems to be an issue with how kinds are unified, here's a minimal, self-contained example:
data TProxy (t :: Type) = TProxy
data SProxy (s :: Symbol) = SProxy
put :: forall proxy a. proxy a -> TProxy a
put _ = TProxy
--wrong :: TProxy "apple"
wrong = put (SProxy :: SProxy "apple")This typechecks (on both HEAD and 0.11.6), and we managed to force a Symbol into TProxy.