x fix isArray and recursion