numtype (hackage): This package provides unary type level representations of the (positive and negative) integers and basic operations (addition, subtraction, multiplication, division) on these. Due to the unary implementation the practical size of the NumTypes is severely limited making them unsuitable for large-cardinality applications. If you will be working with integers beyond (-20, 20) this package probably isn't for you. It is, however, eminently suitable for applications such as representing physical dimensions (see the Dimensional library).
Keywords: bsd3|library|math