calc を再帰的に呼び出す場合に、nil を考慮していなかったのを修正