"Линза" и "частичная линза" кажутся довольно похожими по названию и по понятию. Как они отличаются? В каких обстоятельствах мне нужно использовать один или другой?
Маркировка Scala и Haskell, но я бы приветствовал объяснения, связанные с любым функциональным языком, который имеет библиотеку объективов.