             return false
         }
     }
-
     return true
 }
 

    }
}

public func truthy(item: AnyObject?) -> Bool {
    if let item = item as? Truthy {
        return item.truthy
    }

    }

    return false
}

public extension Array {
    func all(@noescape where predicate: Generator.Element throws -> Bool = truthy) rethrows -> Bool {
        for element in self {
            guard try predicate(element) else { return false }
        }
        return true
    }

    func any(@noescape where predicate: Generator.Element throws -> Bool = truthy) rethrows -> Bool {
        for element in self {
            if let result = try? predicate(element) where result {
                return true
            }
        }
        return false
    }
}