Returns the result of applying $f to this $option's value if this $option is nonempty. Returns $none if this $option is empty. Slightly different from
map in that $f is expected to return an $option (which could be $none).
the function to apply