Some optics for basic types.
Match Nothing constructor.
Match Right constructor.
Match Left constructor.
Pluggable filter.
Prevents reading and update for all parts that do to satisfy the predicate.
List fold/traversal.
Nth element of the list.
Everything except first n elements of the list.
First n elements of the list.
The implementation will traverse n elements twice, because I was lazy and didn't write List.splitAt manually.
And there is no standard one.
Match head/tail of a non-empty list.
Match end of a non-empty list.
List head.
List tail.
Array fold/traversal.
Nth element of the array.
First tuple element.
Second tuple element.
Access to the dict element at given key.
Dict <-> List.
Traversal over values in the dictionary.
Match (go into)
Justconstructor.