These are operations on haskell data.
You can view function signatures using Haskell :type
Types
Defined Functions
myfunction :: Int -> Int -> Int
myfunction x y = x+x + y*2
Generic Type Functions
head :: [a] -> a
Allows this function to work with any datatype and return that same datatype generic
Generic with Haskell Typeclass
square Num => a -> a