class Steep::Subtyping::Check

def check_method_params(name, relation)

def check_method_params(name, relation)
  relation.params!
  pairs = match_params(name, relation)
  case pairs
  when Array
    unless pairs.empty?
      All(relation) do |result|
        pairs.each do |(sub_type, super_type)|
          result.add(Relation.new(sub_type: super_type, super_type: sub_type)) do |rel|
            check_type(rel)
          end
        end
        result
      end
    else
      Success(relation)
    end
  else
    pairs
  end
end