我有一个镜头(')
myLens' :: (Functor f) => (a -> f a) -> (s -> f s)
我需要一个功能
lensWithoutFunctor' :: ((a -> b) -> (f a -> f b)) -> (a -> f a) -> (s -> f s)
(我感兴趣的特定类型是
type PopType x a = x -> Maybe (a, x)
如果需要,可以将其制成函子
除了创建一个执行Functor的新类型然后进行涉及“ ala”的事情之外,还有更好的方法吗?