# numbers v5.2.5 - Table of Contents > Numbers dispatches on any numeric type that follows the `Numeric` behaviour. This allows you to create composite types working with _any_ numeric type (Decimal, Ratio, Tensor, ComplexNum, ???)! ## Modules - [Numbers](Numbers.md): Allows you to use arithmetical operations on _any_ type that implements the proper protocols. - [Numbers.Helper](Numbers.Helper.md): Helper functions that might make the implementation of Numbers for your own numberlike types easier. - [Numbers.Protocols](Numbers.Protocols.md): A set of protocols that can be implemented for your data structure, to add `Numbers`-support to it. - [Numbers.Protocols.Absolute](Numbers.Protocols.Absolute.md): For supporting `Numbers.abs/1`. - [Numbers.Protocols.Addition](Numbers.Protocols.Addition.md): For supporting `Numbers.add/2`. - [Numbers.Protocols.Division](Numbers.Protocols.Division.md): For supporting `Numbers.div/2`. - [Numbers.Protocols.Exponentiation](Numbers.Protocols.Exponentiation.md): For supporting `Numbers.pow/2`. - [Numbers.Protocols.Minus](Numbers.Protocols.Minus.md): For supporting `Numbers.minus/1`. - [Numbers.Protocols.Multiplication](Numbers.Protocols.Multiplication.md): For supporting `Numbers.mult/2`. - [Numbers.Protocols.Subtraction](Numbers.Protocols.Subtraction.md): For supporting `Numbers.sub/2`. - [Numbers.Protocols.ToFloat](Numbers.Protocols.ToFloat.md): For supporting `Numbers.to_float/1`.