def collect(&action)
      var = Variable.new typecode
      block = action.call var
      conversion = proc { |t| t.to_type action.call(Variable.new(t.typecode)).typecode }
      Hornetseye::ElementWise( action, block.to_s, conversion ).new( self ).force
    end
def collect(&action)
      var = Variable.new typecode
      block = action.call var
      conversion = proc { |t| t.to_type action.call(Variable.new(t.typecode)).typecode }
      Hornetseye::ElementWise( action, block.to_s, conversion ).new( self ).force
    end
Perform element-wise operation on array

 @param [Proc] action Operation(s) to perform on elements.

 @return [Node] The resulting array.