docs: def map(self, func: Callable[[T], U]) -> 'TOption[T]':
          """
          Usage:
  
              >>> TOption(3).map(lambda x: x+1).get()
              4
              >>> TOption(None).map(lambda x: x+1).get_or(999)
              999
          """
          return self if self.is_none() else TOption(func(self.value))