docs: def validate(func):
      """
      Check if annotated function arguments validate according to spec
      """
      call = PythonCall(func)
  
      @wraps(func)
      def decorator(*args, **kwargs):
          parameters = call.bind(args, kwargs)
          for arg_name, validator in func.__annotations__.items():
              if not validator(parameters[arg_name]):
                  raise TypeError(
                      "Argument {!r} failed to validate".format(arg_name))
          return call.apply(args, kwargs)
      return decorator