abstract Literals = { cat S ; fun IsString : String -> S ; IsInteger : Int -> S ; IsFloat : Float -> S ; }