Haskell の レコード構文(Record Syntax)にて、簡潔なフィールド名を使い定義すると名前がかぶりやすくなる問題があります。

参考サイト を見ると、レコード名をprefixとしたフィールド名を使うとよいようですが、こんなものなのでしょうか?
よりよい方法はないものでしょうか?

エラーになる例:

data Java = Java { power :: Integer ; url :: String }
data Link = Link { title :: String ; url :: String }
-- 下記が定義されるためか、重複してしまう
-- url :: Java -> String
-- url :: Link -> String

エラー内容:

Multiple declarations of ‘url’
Declared at: (省略)


改善した例:

data Java = Java { javaPower :: Integer ; javaUrl :: String }
data Link = Link { linkTitle :: String ; linkUrl :: String }

※ 「命名規則や用語がHaskell的に変」という場合もぜひ、コメントや編集などでフィードバックお願いします