なんで foldl でスタック溢れるの?末尾再帰が最適化されてないの?