module Overload where
import Maybe(isJust)
class ToBool a where toBool :: a -> Bool
instance ToBool (Maybe a) where toBool = maybeToBool
maybeToBool = isJust
assert Trivial = {True} === {True}
assert Simple = {maybeToBool (Just 'a')} === {True}
assert Overloaded = {toBool (Just 'a')} === {True}