diff --git a/library/PostgresqlSyntax/Extras/TextBuilder.hs b/library/PostgresqlSyntax/Extras/TextBuilder.hs
--- a/library/PostgresqlSyntax/Extras/TextBuilder.hs
+++ b/library/PostgresqlSyntax/Extras/TextBuilder.hs
@@ -1,16 +1,16 @@
 module PostgresqlSyntax.Extras.TextBuilder where
 
 import PostgresqlSyntax.Prelude
-import Text.Builder
+import TextBuilder
 
-char7 :: Char -> Builder
+char7 :: Char -> TextBuilder
 char7 = char
 
-intDec :: Int -> Builder
+intDec :: Int -> TextBuilder
 intDec = decimal
 
-int64Dec :: Int64 -> Builder
+int64Dec :: Int64 -> TextBuilder
 int64Dec = decimal
 
-doubleDec :: Double -> Builder
+doubleDec :: Double -> TextBuilder
 doubleDec = fromString . show
diff --git a/library/PostgresqlSyntax/Parsing.hs b/library/PostgresqlSyntax/Parsing.hs
--- a/library/PostgresqlSyntax/Parsing.hs
+++ b/library/PostgresqlSyntax/Parsing.hs
@@ -40,9 +40,9 @@
 import qualified PostgresqlSyntax.Predicate as Predicate
 import PostgresqlSyntax.Prelude hiding (bit, expr, filter, fromList, head, many, option, some, sortBy, tail, try)
 import qualified PostgresqlSyntax.Validation as Validation
-import qualified Text.Builder as TextBuilder
 import qualified Text.Megaparsec as Megaparsec
 import qualified Text.Megaparsec.Char as MegaparsecChar
+import qualified TextBuilder
 
 -- $setup
 -- >>> testParser parser = either putStr print . run parser
@@ -111,7 +111,7 @@
               collectChunks (bdr <> TextBuilder.char q)
             finish bdr = do
               MegaparsecChar.char q
-              return (TextBuilder.run bdr)
+              return (TextBuilder.toText bdr)
          in collectChunks mempty
   return tail
 
@@ -752,7 +752,7 @@
 funcAliasClause =
   asum
     [ do
-        keyword "as"
+        _ <- keyword "as"
         asum
           [ do
               space
diff --git a/library/PostgresqlSyntax/Rendering.hs b/library/PostgresqlSyntax/Rendering.hs
--- a/library/PostgresqlSyntax/Rendering.hs
+++ b/library/PostgresqlSyntax/Rendering.hs
@@ -1,6 +1,10 @@
 {-# OPTIONS_GHC -Wno-missing-signatures -Wno-dodgy-imports #-}
 
-module PostgresqlSyntax.Rendering where
+module PostgresqlSyntax.Rendering
+  ( toText,
+    module PostgresqlSyntax.Rendering,
+  )
+where
 
 import qualified Data.Text as Text
 import qualified Data.Text.Encoding as Text
@@ -8,40 +12,37 @@
 import qualified PostgresqlSyntax.Extras.NonEmpty as NonEmpty
 import PostgresqlSyntax.Extras.TextBuilder
 import PostgresqlSyntax.Prelude hiding (aExpr, bit, fromList, many, option, sortBy, try)
-import Text.Builder hiding (char7, doubleDec, int64Dec, intDec)
+import TextBuilder hiding (char7, doubleDec, int64Dec, intDec)
 
 -- * Execution
 
-toByteString :: Builder -> ByteString
+toByteString :: TextBuilder -> ByteString
 toByteString = Text.encodeUtf8 . toText
 
-toText :: Builder -> Text
-toText = run
-
 -- * Helpers
 
-commaNonEmpty :: (a -> Builder) -> NonEmpty a -> Builder
+commaNonEmpty :: (a -> TextBuilder) -> NonEmpty a -> TextBuilder
 commaNonEmpty = NonEmpty.intersperseFoldMap ", "
 
-spaceNonEmpty :: (a -> Builder) -> NonEmpty a -> Builder
+spaceNonEmpty :: (a -> TextBuilder) -> NonEmpty a -> TextBuilder
 spaceNonEmpty = NonEmpty.intersperseFoldMap " "
 
-lexemes :: [Builder] -> Builder
+lexemes :: [TextBuilder] -> TextBuilder
 lexemes = mconcat . intersperse " "
 
-optLexemes :: [Maybe Builder] -> Builder
+optLexemes :: [Maybe TextBuilder] -> TextBuilder
 optLexemes = lexemes . catMaybes
 
-inParens :: Builder -> Builder
+inParens :: TextBuilder -> TextBuilder
 inParens a = "(" <> a <> ")"
 
-inBrackets :: Builder -> Builder
+inBrackets :: TextBuilder -> TextBuilder
 inBrackets a = "[" <> a <> "]"
 
-prefixMaybe :: (a -> Builder) -> Maybe a -> Builder
+prefixMaybe :: (a -> TextBuilder) -> Maybe a -> TextBuilder
 prefixMaybe a = foldMap (flip mappend " " . a)
 
-suffixMaybe :: (a -> Builder) -> Maybe a -> Builder
+suffixMaybe :: (a -> TextBuilder) -> Maybe a -> TextBuilder
 suffixMaybe a = foldMap (mappend " " . a)
 
 -- * Statements
@@ -858,10 +859,10 @@
 
 -- * Types
 
-typename (Typename a b c d) =
+typename (Typename a b _ d) =
   bool "" "SETOF " a <> simpleTypename b <> foldMap typenameArrayDimensionsWithQuestionMark d
 
-typenameArrayDimensionsWithQuestionMark (a, b) =
+typenameArrayDimensionsWithQuestionMark (a, _) =
   typenameArrayDimensions a
 
 typenameArrayDimensions = \case
diff --git a/postgresql-syntax.cabal b/postgresql-syntax.cabal
--- a/postgresql-syntax.cabal
+++ b/postgresql-syntax.cabal
@@ -1,30 +1,28 @@
 cabal-version: 3.0
-name:          postgresql-syntax
-version:       0.4.1.1
-category:      Database, PostgreSQL, Parsing
-synopsis:      PostgreSQL AST parsing and rendering
+name: postgresql-syntax
+version: 0.4.1.2
+category: Database, PostgreSQL, Parsing
+synopsis: PostgreSQL AST parsing and rendering
 description:
   Postgres syntax tree and related utils extracted from the \"hasql-th\" package.
   The API is in a rather raw \"guts out\" state with most documentation lacking,
   but the codebase is well tested.
 
-homepage:      https://github.com/nikita-volkov/postgresql-syntax
-bug-reports:   https://github.com/nikita-volkov/postgresql-syntax/issues
-author:        Nikita Volkov <nikita.y.volkov@mail.ru>
-maintainer:    Nikita Volkov <nikita.y.volkov@mail.ru>
-copyright:     (c) 2020, Nikita Volkov
-license:       MIT
-license-file:  LICENSE
+homepage: https://github.com/nikita-volkov/postgresql-syntax
+bug-reports: https://github.com/nikita-volkov/postgresql-syntax/issues
+author: Nikita Volkov <nikita.y.volkov@mail.ru>
+maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>
+copyright: (c) 2020, Nikita Volkov
+license: MIT
+license-file: LICENSE
 
 source-repository head
-  type:     git
-  location: git://github.com/nikita-volkov/postgresql-syntax.git
+  type: git
+  location: https://github.com/nikita-volkov/postgresql-syntax
 
 common base-settings
-  default-language:   Haskell2010
+  default-language: Haskell2010
   default-extensions:
-    NoImplicitPrelude
-    NoMonomorphismRestriction
     ApplicativeDo
     Arrows
     BangPatterns
@@ -48,6 +46,8 @@
     MagicHash
     MultiParamTypeClasses
     MultiWayIf
+    NoImplicitPrelude
+    NoMonomorphismRestriction
     OverloadedStrings
     ParallelListComp
     PatternGuards
@@ -64,8 +64,8 @@
     UnboxedTuples
 
 library
-  import:          base-settings
-  hs-source-dirs:  library
+  import: base-settings
+  hs-source-dirs: library
   exposed-modules:
     PostgresqlSyntax.Ast
     PostgresqlSyntax.KeywordSet
@@ -82,37 +82,37 @@
     PostgresqlSyntax.Prelude
 
   build-depends:
-    , base >=4.12 && <5
-    , bytestring >=0.10 && <0.13
-    , case-insensitive >=1.2.1 && <2
-    , hashable >=1.3.5 && <2
-    , headed-megaparsec >=0.2.0.1 && <0.3
-    , megaparsec >=9.2 && <10
-    , parser-combinators >=1.3 && <1.4
-    , text >=1 && <3
-    , text-builder >=0.6.6.3 && <0.7
-    , unordered-containers >=0.2.16 && <0.3
+    base >=4.12 && <5,
+    bytestring >=0.10 && <0.13,
+    case-insensitive >=1.2.1 && <2,
+    hashable >=1.3.5 && <2,
+    headed-megaparsec >=0.2.0.1 && <0.3,
+    megaparsec >=9.2 && <10,
+    parser-combinators >=1.3 && <1.4,
+    text >=1 && <3,
+    text-builder >=0.6.10 && <0.7,
+    unordered-containers >=0.2.16 && <0.3,
 
 test-suite tasty-test
-  import:         base-settings
-  type:           exitcode-stdio-1.0
+  import: base-settings
+  type: exitcode-stdio-1.0
   hs-source-dirs: tasty-test
-  main-is:        Main.hs
-  ghc-options:    -threaded
+  main-is: Main.hs
+  ghc-options: -threaded
   build-depends:
-    , postgresql-syntax
-    , rerebase <2
-    , tasty >=1.2.3 && <2
-    , tasty-hunit >=0.10 && <0.11
+    postgresql-syntax,
+    rerebase <2,
+    tasty >=1.2.3 && <2,
+    tasty-hunit >=0.10 && <0.11,
 
 test-suite hedgehog-test
-  import:         base-settings
-  type:           exitcode-stdio-1.0
+  import: base-settings
+  type: exitcode-stdio-1.0
   hs-source-dirs: hedgehog-test
-  main-is:        Main.hs
-  ghc-options:    -threaded
-  other-modules:  Main.Gen
+  main-is: Main.hs
+  ghc-options: -threaded
+  other-modules: Main.Gen
   build-depends:
-    , hedgehog >=1.0.1 && <2
-    , postgresql-syntax
-    , rerebase >=1.6.1 && <2
+    hedgehog >=1.0.1 && <2,
+    postgresql-syntax,
+    rerebase >=1.6.1 && <2,
