A dynamically sized contigous sequence.
Eq a defines equality (==) on
Ord a defines an ordering on
Show a represents a conversion function from
a to a readable string.
Functor represents an action on a parameterized type which does not
change the structure with the mapped type.
The following laws should hold:
map id == id
map (f << g) == map f << map g
Operations over a data structure that can be folded which means that a functions gets called on
each element to reduce the structure to a single value (
Map are all
Semigroup a represents an associative operation on
This means the following laws must hold:
forall x . append x (append y z) == append (append x y) z