andThenAsyncForOption
Returns None if the input is None,
otherwise calls transformer with the value and returns the result.
XXX:
Some languages call this operation flatmap.
But we don't provide flatMap() as alias of this function
to sort with other APIs.