> I would go with : > validatePositive :: Int -> Maybe (Positive Int) > square :: Positive Int -> Positive Int But squaring a negative Int is still guaranteed to be positive!