2all
Чистые функции, несомненно,  были бы полезны.

Когда ваша программа падает от сработавших ассертов, хальтов и т.д., то это, отнюдь, не достижение, а недостаток. А чтобы проверить, есть ли во всех местах оператор возврата - это, как уже, говорили, требует наличия анализатора. Если это так просто, то реализуйте его - люди будут вам благодарны.