この機能と同様のことができるレンズを作成する方法はありますか?
λ> :t \f -> bitraverse f f
\f -> bitraverse f f
:: (Applicative f, Bitraversable t) =>
(b -> f d) -> t b b -> f (t d d)
現時点で満足させようとしている特定のタイプは次のとおりです。
something :: (Applicative f, Monad m) => (a -> f a) -> (m a, m a) -> f (m (a, a))
私はレンズを使って実験してきましたがtraverseOf
、both
タイプを並べることができないようです。