class Dry::Types::Schema::Key

def initialize(type, name, required: Undefined, **options)

Other tags:
    Api: - private
def initialize(type, name, required: Undefined, **options)
  required = Undefined.default(required) do
    type.meta.fetch(:required) { !type.meta.fetch(:omittable, false) }
  end
  unless name.is_a?(::Symbol)
    raise ::ArgumentError,
          "Schemas can only contain symbol keys, #{name.inspect} given"
  end
  super
  @name = name
end