POptional that takes either S or S and strips the choice of S.
Focuses on the value only if the predicate is true. This optics The optic is perfectly OK when used to get values using getOrNull or getAll; but requires some caution using modify with it.
getOrNull
getAll
modify
Invoke operator overload to create a POptional of type S with focus A. Can also be used to construct Optional
S
A
Optional to safely operate on the head of a list
Optional to safely operate on the tail of a list
Optional to safely operate in a nullable value.
POptional that never sees its focus