class Hamster::Set
def flatten
def flatten reduce(EmptySet) do |set, item| next set.union(item.flatten) if item.is_a?(Set) set.add(item) end end
def flatten reduce(EmptySet) do |set, item| next set.union(item.flatten) if item.is_a?(Set) set.add(item) end end