extending Saturating to include other arithmetic types