Thanks for making go research the two function. My first though was how do you keep the background reporting back that it overlapped. Ah, it only returns collider collisions. It does look like there would be an issue with colliding with things that you don’t mind colliding with. In this game that would be nearly nothing. But for the edge case that a coin trys to spawn in on the point where a shell is currently passing through. It would be registered as an unacceptable position. With the brute force respawn routine it would just pick another point and keep on going.
I would give your procedure my unmitigated, unvetted, two thumbs up.