Construct a new Prism by providing functions for getting an Option[A] from S and getting an S given an A.
Construct a new Prism with a PartialFunction to avoid needing to exhaustively handle all possible S in the provided get function.
S