fn mul(comptime T: type, a: T, b: T) error{Overflow}!T
Returns the product of a and b. Returns an error on overflow.
T: type,
a: T,
b: T,