--- The @PrintfType@ class provides the variable argument magic for
--- 'printf'. Its implementation is intentionally not visible from
--- this module. The following argument types are supported: Char, String,
--- Int, Integer, Float, Double. If you attempt to pass an argument of a
--- different type to 'printf', then the compiler will report it as a
--- missing instance of @PrintfArg@.
---