class Dry::Schema::MessageCompiler

def visit_or(node, opts)

Other tags:
    Api: - private
def visit_or(node, opts)
  left, right = node.map { |n| visit(n, opts) }
  if [left, right].flatten.map(&:path).uniq.size == 1
    Message::Or.new(left, right, proc { |k| messages.translate(k, default_lookup_options) })
  elsif right.is_a?(Array)
    right
  else
    [left, right].flatten.max
  end
end