Should these just be warnings, or exceptions? Feels like it's putting the system into an inconsistent/illegal state.