Resolve target type in array cast
Fail is executed in release mode too, so it shouldn't be unrecoverable
Temporize arguments for cross() to prevent double-use errors with static arrays