同じモジュール内で、複数の代数的データ型に、
同じ名前のフィールドラベルを持たせるのはダメなんでしょうか。
セレクタがぶつかっているようです。

フィールドラベルを付けずに、classを作ってセレクタ相当の関数をいちいち実装するしかないんでしょうか。
セレクタはそれでよいとして、フィールドラベルを使ったパターンマッチはどうすればよいでしょうか。

型だけだと、それが何であるのかの情報が(セレクタしか)なくなって、可読性に不安を感じてしまいます。


あと、ふつけるを読了したのですが、
この後はHaskell98Reportを読むしかないのでしょうか。
かなり古くなってるみたいですけど。