BackusのFPはポイントフリースタイルのイメージだね。

Bird先生は別に要素レベルの演算までリストでやれと言ってるわけではないと思う。


lift n = (n,"")
fizz (n,s) = (n,s ++ if n `mod` 3 == 0 then "fizz" else "")
buzz (n,s) = (n,s ++ if n `mod` 5 == 0 then "buzz" else "")

fizzbuzz xs = map (buzz . fizz . lift) xs

くらいでも関数的と言っていいんじゃないか。