もう少し整理してみました。
DEFINE roll4 == swap [swap [swap] dip] dip; mkifte == [unitlist swap] dip unitlist swap; fbq == roll4 [rem 0 =] dip mkifte ifte; fbnum == dup 15 "FizzBuzz" [dup 3 "Fizz" [dup 5 "Buzz" [dup] fbq] fbq] fbq popd; fblist == [fbnum] map; interval == swap [<=] [pop [] cons] [dup [swap] dip succ] [cons] linrec.
実際のところ(2)も(3)もgcが動き出すのでリソース使い過ぎなのでしょう(dip依存症)。最初のはそんなことありません。
いっさい代入せずにスタック操作だけでプログラムを作ると「変数、代入」の便利さがよくわかります。