diff --git a/src/pwo/maybe.py b/src/pwo/maybe.py index f0d00d6..4f44e90 100644 --- a/src/pwo/maybe.py +++ b/src/pwo/maybe.py @@ -52,6 +52,8 @@ class Maybe(Generic[T]): def flat_map(self, transformer: Callable[[T], Maybe[U]]) -> Maybe[U]: return transformer(self.value) if self.is_present else Maybe.empty() + def __or__(self, alt: Maybe[T]) -> Maybe[T]: + return self if self.is_present else alt def or_else(self, alt: T) -> T: return self.value if self.is_present else alt