I’m still getting used to hypertypes, but I’ve noticed that most of my use cases involve F m, where m is especially often a monad. I usually write do-notation code wrapped in _F # do ....
This made me wonder whether Pure and Prune could be replaced by F Identity and F Maybe, respectively. It seems like this might be more convenient and encourage a more canonical style when working with hypertypes.
Has this approach been considered before? Are there semantic, ergonomics, or performance reasons to keep Pure and Prune as separate types?
I’m still getting used to hypertypes, but I’ve noticed that most of my use cases involve
F m, wheremis especially often a monad. I usually writedo-notation code wrapped in_F # do ....This made me wonder whether
PureandPrunecould be replaced byF IdentityandF Maybe, respectively. It seems like this might be more convenient and encourage a more canonical style when working with hypertypes.Has this approach been considered before? Are there semantic, ergonomics, or performance reasons to keep
PureandPruneas separate types?