12 Dec
2025
12 Dec
'25
1:47 a.m.
Is it sound to define forallCoercible :: forall f g. (forall a. Coercible (f a) (g a)) => Coercion (Forall f) (Forall g) forallCoercible = unsafeCoerce (Coercion @(f Any) @(g Any)) I'm having trouble coming up with a reason why it is not, but my intuition for these things is not very good. Thanks, Tom