RubyだってLISPだって「値を返すための処理」を付け忘れたら同じことになるんじゃない?

それともそのバグのある関数をほかの関数呼び出しの引数の最後にくっつけたとき、
渡される引数の個数が異なるのことを問題にしてる?