+instance StatusCode sc ⇒ ConvertSuccess sc Ascii where
+ {-# INLINE convertSuccess #-}
+ convertSuccess = convertSuccessVia ((⊥) ∷ AsciiBuilder)
+
+instance StatusCode sc ⇒ ConvertSuccess sc AsciiBuilder where
+ {-# INLINE convertSuccess #-}
+ convertSuccess = textualStatus
+
+instance StatusCode sc ⇒ ConvertAttempt sc Ascii where
+ {-# INLINE convertAttempt #-}
+ convertAttempt = return ∘ cs
+
+instance StatusCode sc ⇒ ConvertAttempt sc AsciiBuilder where
+ {-# INLINE convertAttempt #-}
+ convertAttempt = return ∘ cs
+
+-- |'QuasiQuoter' for 'StatusCode' declarations.
+--
+-- Top-level splicing
+--
+-- @
+-- ['statusCodes'|
+-- 200 OK
+-- 400 Bad Request
+-- 405 Method Not Allowed
+-- |]
+-- @
+--
+-- becomes:
+--
+-- @
+-- data OK = OK deriving ('Show')
+-- instance OK where
+-- 'numericCode' _ = 200
+-- 'textualStatus' _ = 'cs' (\"200 OK\" ∷ Ascii)
+--
+-- data BadRequest = BadRequest deriving ('Show')
+-- instance BadRequest where
+-- 'numericCode' _ = 400
+-- 'textualStatus' _ = 'cs' (\"400 Bad Request\" ∷ Ascii)
+--
+-- data MethodNotAllowed = MethodNotAllowed deriving ('Show')
+-- instance MethodNotAllowed where
+-- 'numericCode' _ = 405
+-- 'textualStatus' _ = 'cs' (\"405 Method Not Allowed\" ∷ Ascii)
+-- @