POptional that takes either S or S and strips the choice of S.
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
POptional that never sees its focus