Open lue-bird opened 2 years ago
So I'm not entirely sure how to properly define that type such that it satisfies the laws AND remains composable with other type aliases. There's also a "structure preserving" vs "non structure preserving" property to account for where an "Optional" could be defined with a couple different signatures... see def
and or
. or
has to be written in terms of another lens in order to satisfy the type...
eg: get (someLens |> or "Some Default") --> "Some Default"
but get (someLens << def "Some Default") --> "Some Default"
I could certainly pick one, and figure out suggestions for other use cases but it's not clear currently which situation is more common.
In the future, when @erlandsona defines a
Prism
type fromRelation
s, update the generated variant prism declaration type annotations accordingly.