lispだとcdr nil = nilなんだっけ

>508的な考えも一理ある
> g :: [a] -> [b] という関数を返す関数と考えるとよいかも
> 関数gの引数が[]のとき、返り値として最もふさわしい値は[]以外には考えにくいでしょう?