docs: def factory(
          method,
          description="",
          request_example=None,
          request_ctor=None,
          responses=None,
          method_choices=HTTP_METHODS,
      ):
          """
          desc: Describes a single HTTP method of a URI
          args:
              -   name: method
                  type: str
                  desc: The HTTP request method to use
              -   name: description
                  type: str
                  desc: The description of what this call does
                  required: false
                  default: ""
              -   name: request_example
                  type: dict
                  desc: An example JSON request body
                  required: false
                  default: null
              -   name: request_ctor
                  type: method
                  desc: Docstring will be parsed into help for @request_example
                  required: false
                  default: null
              -   name: responses
                  type: list
                  subtypes: [RouteMethodResponse]
                  desc: >
                      Each object describes a possible response and describes
                      the condition(s) that may cause it
                  ctor: pymarshal.api_docs.routes.RouteMethodResponse.__init__
              -   name: method_choices
                  type: list
                  subtypes: ["str"]
                  desc: The HTTP methods to allow for @method
                  hide: true
                  required: false
                  default: [DELETE, GET, PATCH, POST, PUT]
          """
          return RouteMethod(
              method,
              description,
              request_example,
              DocString.from_ctor(request_ctor) if request_ctor else None,
              responses,
              method_choices,
          )