The only difference between your earlier function signature and this one is the order of the first two parameters; even if one order would in practice be faster to recurse on, this does not have an impact on the order your user-facing public function have to have. Personally I find the former version (where Path is the first argument) more natural to read.
Side note about the implementation of Array: I believe that this makes Arrays as fast as a tree (in that case, IIRC a fixed-branching-size base-32 tree); it would not make your trees faster.