Having a background in software engineering, I view game rules similarly to how I view software requirements. If your language isn’t precise and your logical construction isn’t complete and accurate, you’re going to wind up with some unhappy surprises, one way or another.