code: def get(
              self: 'Option[Mapping[K,V]]',
              key: K,
              default=None
      ) -> 'Option[V]':
          
          if self._is_some:
              return self._type.maybe(self._val.get(key, default))
          return self._type.maybe(default)
docs: Gets a mapping value by key in the contained value or returns
          ``default`` if the key doesn't exist.
  
          Args:
              key: The mapping key.
              default: The defauilt value.
  
          Returns:
              * ``Some`` variant of the mapping value if the key exists
                 and the value is not None.
              * ``Some(default)`` if ``default`` is not None.
              * :py:data:`NONE` if ``default`` is None.
  
          Examples:
              >>> Some({'hi': 1}).get('hi')
              Some(1)
              >>> Some({}).get('hi', 12)
              Some(12)
              >>> NONE.get('hi', 12)
              Some(12)
              >>> NONE.get('hi')
              NONE