For rational functions that take on integer values at integer
arguments, for example n*(n+1)/2, is there a way to doctor the
corresponding Haskell definition
f n = n*(n+1)/2
so that the type signature becomes
f :: Num a => a -> a
rather than
f :: Fractional a => a -> a
Doug McIlroy