Move from a 'is_dirty' idiom to 'go_ahead_and_compile?' idiom