integral doesnt cover floating point types. switched to artimetic which is integral + floating point.