Утилитарная функция

Утилитарная функция — в языке программирования Haskell функция, имеющая в своём типе ограничения на используемые переменные типов. Ограничение типа на наличие экземпляра некоторого класса для этого типа указывает, для какого класса функция является утилитарной.

Например:

min :: Ord a => a -> a -> Bool
min x y | x < y     = x
        | otherwise = y

Функция min является утилитарной функцией класса Ord. Она не входит в число методов этого класса, но работает исключительно со значениями типов, которые являются экземплярами этого класса, т. е. со сравнивыми значениями.