Added a new getOrElse that only operates on inner Option, making it possible to getOrElse on Directive F, for which Monad is defined. Also had to redefine the 'when' orElse, due to internal dependencies.