Lens s a = forall f. Functor f => (a -> f a) -> (s -> f s)
линза является линзной (то есть обязна фокусить ровно в одно значение, ни 0 ни 2) ровно потому что она урезается до любого функтора, и должна работать для любого функтора, а не для конкретного