# File lib/monkey/ext/enumerable.rb, line 9
      def construct_hash(default = {})
        enum_for :construct_hash unless block_given? or !respond_to? :enum_for
        construct(default.to_hash.dup) do |h,v|
          result = yield(v)
          result = [result, nil] unless result.is_a? Enumerable
          result = [result] unless result.respond_to? :to_ary
          h.merge! Hash[*result]
        end
      end