C言語のエラーも、Haskellの縛りも、自分が投げたブーメランで自分が苦労するのは同じ