Existe uma representação de van Laarhoven de `Opcional`

Muitos tipos de óptica têm uma representação de van Laarhoven. Por exemplo, um Lensdo tipo Lens s t a b pode ser representado como: Functor f => (a -> f b) -> s -> f t Da mesma forma a Traversal, pode ser representado de maneira semelhante, trocando a Functorrestrição por...