[Haskell-cafe] determine a type by universal property