      *                     assumes 0.
      * @return The index of the first member to return true, or -1 if none did.
      */
-    public static function indexOf(array:Array, boolFunction:Function = null, startIndex:int = 0):int
+    public static function indexOf(array:*, boolFunction:Function = null, startIndex:int = 0):int
     {
         var i:int;
         if (!array) return -1;

     */
    public static function simpleCallback(closure:Function):Function
    {
        function callback(item:*, index:int, array:Array):*
        {
            return closure(item);
        }

        // TODO: this is not quite how Python works, Python returns
        // values with equal indices as tuples

        var result:Array = [ ];
        var currentArray:Array;
        var len:int = 0;
        var i:int;
