module Dry::Initializer::Dispatchers::UnwrapType

def call(type: nil, wrap: 0, **options)

def call(type: nil, wrap: 0, **options)
  type, count = unwrap(type, wrap)
  {type:, wrap: count, **options}
end

def unwrap(type, count)

def unwrap(type, count)
  if type.is_a?(::Array)
    unwrap(type.first, count + 1)
  else
    [type, count]
  end
end