What about : sffi :: (Integral a,Num a) => Integer -> Maybe asffi n = go n (fromInteger n) where go a b | toInteger b == a = Just b | otherwise = Nothing