code: function parameters (spec) {
    var defs = {}
    var envs = {}
  
    return function (params) {
      init(spec, defs, envs)
      var opts = cat(defs, envs, params)
      var errs = []
  
      def(opts, spec, errs)
      req(opts, spec, errs)
      val(opts, spec, errs)
  
      return {
        error: errs.length ? errs[0] : null,
        errors: errs,
        params: opts
      }
    }
  }
docs: Named parameters supporting default value, validation, and environment variables.
  
  @param {String} string
  string literal.
  
  @return {String}
  string literal.