我有个镜头
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)
如果我想的话可以做成函子)
除了创建一个实现newtype的函子,然后做一些涉及“ala”的操作,还有更好的方法吗?