, "head" , . "", =>, " a", . , . - .
, , , , , Label. ? , , - .
, , OverlappingInstances, . OverlappingInstances GHC , " " . , , .
TypeSynonymInstances, , :
{-
{-
{-
{-
module Label where
class (Show a) => Label a where
label :: a -> String
instance Label String where label x = x
instance Label Char where label x = [x]
instance (Show a) => Label a where label = show