var breaker = require("./breaker.js")
var each = require("./each.js")
var identity = require("./identity.js")

var nativeSome = Array.prototype.some

module.exports = some

function some(obj, iterator, context) {
    iterator || (iterator = identity)
    var result = false
    if (obj == null) {
        return result
    }

    if (nativeSome && obj.some === nativeSome) {
        return obj.some(iterator, context)
    }

    each(obj, function(value, index, list) {
        if (result || (result = iterator.call(context, value, index, list))) {
            return breaker
        }
    })

    return !!result
}

@@ -185,24 +185,25 @@
 me(obj, 
-iterator
+predicate
 , contex
@@ -211,46 +211,8 @@
 ) %7B%0A
-    iterator %7C%7C (iterator = identity)%0A
     
@@ -230,16 +230,17 @@
 = false%0A
+%0A
     if (
@@ -279,24 +279,65 @@
 sult%0A    %7D%0A%0A
+    predicate %7C%7C (predicate = identity)%0A%0A
     if (nati
@@ -397,24 +397,25 @@
 bj.some(
-iterator
+predicate
 , contex
@@ -505,16 +505,17 @@
 t = 
-iterator
+predicate
 .cal

rename iterator to predicate in some function