関数型といっても正格か遅延、純粋か、変数がイミュータブルか等で
代数的データ型やパターンマッチングは共通でもってはいるけど
コードの方針はガラッと変わる
とくに純粋かどうかでパラダイムの違いを感じる