code: def _rewrap_array(result)
        if @wrap_results
          newcoll = @collection.class.new(result)
          self.class.new(newcoll, @wrapfunc_in, @wrapfunc_out)
        else
          @collection.class.new(result.map(&@wrapfunc_out))
        end
      end
docs: Used to wrap results from various Enumerable methods that are defined
   to return an array