まぁ前処理で0はカットできるけどね。
ちゃんとassertなりで0を受け付けないと表明するなら
>>181もアリかも。あと0->NULLだけど逆は必ずしも真ならず。