class Dry::Initializer::Config

def add_definition(option, name, type, block, **opts)

def add_definition(option, name, type, block, **opts)
  opts = {
    parent: extended_class,
    option:,
    null:,
    source: name,
    type:,
    block:,
    **opts
  }
  options = Dispatchers.call(**opts)
  definition = Definition.new(**options)
  definitions[definition.source] = definition
  finalize
  mixin.class_eval definition.code
end