module SyntaxTree::LanguageServer::Request

def self.[](value)

def self.[](value)
  case value
  when Array
    Tuple.new(value.map { |child| self[child] })
  when Hash
    Shape.new(value.transform_values { |child| self[child] })
  else
    value
  end
end