Changes between Initial Version and Version 1 of Ticket #13153, comment 9
 Timestamp:
 Sep 21, 2017 7:12:03 PM (2 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

Ticket #13153, comment 9
initial v1 33 33 }}} 34 34 35 Notice that we're now able to stick a `forall` inside of an instance context, something which GHC currently forbids! The idea here being that this `forall f a b. Applicative f => Coercible (f (inner b)) (f (Wrapped inner b))` would get fed into the constraint solver and could be used to conclude that `Coercible (f (inner b)) (f (Wrappedb))` works for //any// `f` and `b` (where `f` is `Applicative`).35 Notice that we're now able to stick a `forall` inside of an instance context, something which GHC currently forbids! The idea here being that this `forall f a b. Applicative f => Coercible (f (inner b)) (f (Wrapped inner inner b))` would get fed into the constraint solver and could be used to conclude that `Coercible (f (inner b)) (f (Wrapped inner b))` works for //any// `f` and `b` (where `f` is `Applicative`). 36 36 37 37 But do keep in mind that uservisible implication constraints are nothing but a feature request at the moment, so all the above is hypothetical. Until some wonderful day in the future when we have this, the escape hatch is `unsafeCoerce`.