code: function Field(type, options) {
    this.type = type;
    this.document = options.document;
    this.requisition = options.requisition;
  }
docs: A Field is a way to get input for a single parameter.
  This class is designed to be inherited from. It's important that all
  subclasses have a similar constructor signature because they are created
  via getField(...)
  @param type The type to use in conversions
  @param options A set of properties to help fields configure themselves:
  - document: The document we use in calling createElement
  - named: Is this parameter named? That is to say, are positional
  arguments disallowed, if true, then we need to provide updates to
  the command line that explicitly name the parameter in use
  (e.g. --verbose, or --name Fred rather than just true or Fred)
  - name: If this parameter is named, what name should we use
  - requisition: The requisition that we're attached to
  - required: Boolean to indicate if this is a mandatory field