
A total function ****is where for each input we have a valid output that is not None.
A function is partial otherwise.
In functional programming we use the Option type None to indicate an exception instead of throwing one. When building Lenses we can use Optional lens type to model partial functions.