Я хотел бы составить два обхода, а затем обойти композицию чем-то, что также зависит от «среднего» слоя.
Я думаю, это означало бы создание IndexedTraversal
из двух Traversal
s:
rememberMidpoint :: Traversal' s a -> Traversal' a b -> IndexedTraversal' a s b
Может быть, вопрос можно упростить до
remember :: Traversal' s a -> IndexedTraversal' s a a
или
remember :: Traversal' s a -> IndexedTraversal' a s a
?
Итак, мои вопросы:
- Правильно ли я хочу использовать
IndexedTraversal
для этого? - Если да, то как мне реализовать
rememberMidpoint
или одну из двух remember
функций + способ составить их результат с неиндексированным Traversal
?