Implementation of type level natural and signed integer numbers in haskell using type families.