module Enumerable

def any?(&block)

def any?(&block)
  %x{
    var result = false, proc;
    if (block !== nil) {
      proc = function(obj) {
        var value;
        if ((value = block(obj)) === __breaker) {
          return __breaker.$v;
        }
        if (value !== false && value !== nil) {
          result       = true;
          __breaker.$v = nil;
          return __breaker;
        }
      }
    }
    else {
      proc = function(obj) {
        if (obj !== false && obj !== nil) {
          result      = true;
          __breaker.$v = nil;
          return __breaker;
        }
      }
    }
    #{self}.$each(proc);
    return result;
  }
end