class Steep::Interface::Interface::Combination

def self.union(types)

def self.union(types)
  case types.size
  when 0
    raise "Combination.union called with zero types"
  when 1
    types.first
  else
    new(operator: :union, types: types)
  end
end