More aggressive precondition checks