Use custom :! and :? in Lorentz
Clarification and motivation
Problem: :!
and :?
are aliases for NamedF Identity
and NamedF Maybe
respectively, and once value kept there is wrapped into one of these things, Coercible (n :! a) (n :! b)
requires a ~ b
, not Coercible a b
, and this is inconvenient sometimes.
Also, unwrapping those in Haskell world requires arg
, and exporting such function for all the Lorentz code is a bit inconvenient IMO, maybe it would be nice to replace it with something else.
Acceptance criteria
-
Lorentz.Value
defines custom:!
and:?
datatypes.