Represents an optional value with map, flatMap, fold and getOrElse to transform it.
Filters the value if defined by the given predicate.
Flat-maps over the value if defined.
Folds this Option.
Get the value of this Option if defined or use the default-value provider.
Maps over the value if defined.