def map
      mask = 0

      @universe.each do |value, n|
        unless @mask[n].zero?
          value = yield(value)

          if m = @universe.fetch(value, false)
            mask |= (1 << m)
          else
            raise "universe does not contain element #{value.inspect}"
          end
        end
      end

      copy(:mask => mask)
    end
def map
      mask = 0

      @universe.each do |value, n|
        unless @mask[n].zero?
          value = yield(value)

          if m = @universe.fetch(value, false)
            mask |= (1 << m)
          else
            raise "universe does not contain element #{value.inspect}"
          end
        end
      end

      copy(:mask => mask)
    end
@group Set Operations

 @return [AbsoluteSet]