MK
Size: a a a
MK
KV
IK
KV
KV
IK
KV
IK
KV
KV
FL
polyWords "This" "is" "a" "sentence." :: String -- "This is a sentence."
class Words a where
concatWords :: String -> a
instance Words String where
concatWords = id
instance (Show a, Words r) => Words (a -> r) where
concatWords acc = \x -> concatWords $ acc ++ " " ++ show x
polyWords :: (Words t) => t
polyWords = concatWords []
" \"This\" \"is\" \"a\" \"sentence.\""
MK
λ> show "foo"
"\"foo\""