You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Embeddable typeclass as is, is not great... Ideally it works like Coercible, but actually implementing a typecheck plugin for this is both fragile and a lot of work. Instead, we can bring in a nominal coercion that two runtime reps are equivalent through an GADT, which can then also contain Coercible instances like so:
We can supply these instances to term embeddings which may pattern match to get the coercible instances between different kinded types (which of course is sound under the symbolic evaluation).
Activity