def either(*subschemas)
      subschemas = subschemas.map { |ss| inconvenience(ss) }
      Schemas::Sum.new(subschemas)
    end
def either(*subschemas)
      subschemas = subschemas.map { |ss| inconvenience(ss) }
      Schemas::Sum.new(subschemas)
    end
Creates a {Schemas::Sum} schema.

 @param subschemas [Array<schema>] Schemas representing all the possible
   valid values.
 @return [Schemas::Sum]

 @example (see Schemas::Sum)