title: Single-function typeclass naming in Haskell | "er" vs "has"
body: <p>I find it sometimes hard to come up with reasonable single-function typeclass names. If the method name is a regular verb (like get, write, read...), it's easy to do the same thing Gophers do with single-method interfaces - stick an "er" to the back (Getter, Writer, Reader...) an done. But! If the function name is a noun (name, color...) then adding an "er" to the back no longer works. <strong>Namer</strong> and <strong>Colorer</strong> sound too weird because these words are no longer proper English.</p>
  
  <p>One solution could be to add a "has" to the front. One then would get things like HasName, HasColor and also it would work for verbs - HasGet and HasWrite for example. Is this a good approach or not? What are recommended ways to name single-function typeclasses that house noun-ish things?</p>