Move_and_collide for rotation

Would it be possible to code a function like move_and_collide, but for rotating objects? Just like move_and_collide it would be able to detect a collision along the given vector, but instead of stopping the movement of the object, it would stop the rotation. Any help is appreciated.

just tell the collided object to stop rotating, either by stopping the tween that rotates it or if you use _process to rotate, then return before it calculate the rotation or use if branch

I have considered just stopping rotating it when the object collides with something, but in my case it would bring more problems than anything.