Unbounded non-negative integer type for Haskell