Represents an optional value: every instance is either Some, containing a value, or None,
indicating the absence of a value. This pattern is an alternative to using nullable types
(null) for representing the absence of a value.
Returns a function that, when provided with an Option<A>,
will yield the value inside if it's a Some,
or the result of the defaultFunction if it's a None.
Curries the tap function by taking a side effect function f. It returns a
specialized version of the tap function that can be used to apply the side
effect on an Option<A> instance directly without specifying the side effect
function again.
The tap function takes a side effect function Function that is applied to the value
inside the Some instance of Option. It returns the original Option after
performing the side effect on the value. If the input Option is None, the
function simply returns the same None.