[Haskell-cafe] category design approach for inconvenient concepts