    # File lib/facets/core/enumerable/elementwise.rb, line 22
      def elementwise
        @_elementwise_functor ||= Functor.new do |op,*args|
          a = args.collect do |arg|
            if arg.kind_of?(Enumerable)
              ln = ( arg.length > self.length ? self.length : arg.length )
              self[0...ln].zip(arg[0...ln]).collect{ |a,b| a.send(op,b) }
              #self[0...ln].zip(arg[0...1n]).collect{ |a,b| b ? a.send(op,b) : nil }
            else
              self.collect{ |a| a.send(op,arg) }
            end
          end
          a.flatten! if args.length == 1
          a
        end
      end