Option.flatMap, Option.orElse