code: def validate(self, value=_undefined, name=None):
          
          if self.optional:
              if value is _undefined or value is None:
                  if self.default is None:
                      return None
                  elif util.is_function(self.default):
                      value = self.default()
                  else:
                      value = self.default
          elif value is _undefined:
              if name is not None:
                  name_msg = "argument `{}`".format(name)
              else:
                  name_msg = "unnamed argument"
              raise TypeError("Missing required value for {}".format(name_msg))
  
          return self.validator(value)
docs: Parameters
          ----------
          value : Any, default undefined
            Raises TypeError if argument is mandatory but not value has been
            given.
          name : Optional[str]
            Argument name for error message