Future<Option<T>> orElse(Option<T> Function() f) { return then((option) => option.isNone() ? f() : option); }