code: function scalar(schema, defaults, options) {
    if (kindOf(schema) !== 'string') {
      if (process.env.NODE_ENV !== 'production') {
        throw new Error(
          `Scalar structs must be defined as a string, but you passed: ${schema}`
        )
      } else {
        throw new Error(`Invalid schema: ${schema}`)
      }
    }
  
    const { types } = options
    const fn = types[schema]
  
    if (kindOf(fn) !== 'function') {
      if (process.env.NODE_ENV !== 'production') {
        throw new Error(
          `No struct validator function found for type "${schema}".`
        )
      } else {
        throw new Error(`Invalid type: ${schema}`)
      }
    }
  
    const kind = func(fn, defaults, options)
    const name = 'scalar'
    const type = schema
    const validate = value => {
      const [error, result] = kind.validate(value)
  
      if (error) {
        error.type = type
        return [error]
      }
  
      return [undefined, result]
    }
  
    return new Kind(name, type, validate)
  }
docs: Scalar.
  
  @param {String} schema
  @param {Any} defaults
  @param {Object} options