. , , . a -> Int: a, !
, , , , toInteger :: Integral a => a -> Integer, . ,
import Data.Foldable
import Prelude hiding (foldr)
x' :: (Foldable a, Integral b) => a b -> Integer
x' = foldr ((+) . toInteger) 0
, a b ... n o p q, a b ... p , , Functor, Applicative Monad; Foldable, Traversable Comonad; a b ... o Arrow... , , .