Type classes are one of most important functional programming concept that introduced first in Haskell programming language as a new approach to extend existing classes with new functionality, without using object-oriented inheritance concept, and without changing the original classes source code .25 Haz 2019