In general, we prefer to push logic as far back as possible