Ты посмотри, какие-то пакеты для линз есть. Даже Эван делал такой, но быстро понял, что нормальное не получится и с тех пор говорит всем, что оптика неэльмична :)
Монокль я пробовал. В принципе - работает. На деле же настолько вербозно, что нужно очень хотеть оптики, чтобы такое терпеть. Я пока просто не делаю такие большие и сложные структуры, для которых монокль упрощал бы жизнь, а не усложнял...
Для моделей я вообще не уверен в пользе оптики: модель отражает состояние UI, поэтому хождение в глубь лучше сразу заменить на делегирование вьюх и апдейтов.
и композится, но не уверен что удовлетворит ценителей
Главная проблема тут в том, что нельзя скомпозить lens+prism или prism+lens, а если iso добавить, то будет шесть комбинаций! Поэтому торчат все эти Prism.fromIso и Lens.fromIso