diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,8 +1,20 @@
+3.5.10.0
+=======
+- @ivanbakel
+    - [#328](https://github.com/bitemyapp/esqueleto/pull/328)
+        - Add `ToAlias` instances for 9- to 16-tuples
+        - Add `ToAliasReference` instances for 9- to 16-tuples
+- @parsonsmatt
+    - [#365](https://github.com/bitemyapp/esqueleto/pull/365)
+        - Add `isNothing_` and `groupBy_` to avoid name conflicts with
+          `Data.List` and `Data.Maybe`.
+
 3.5.9.1
 =======
 - @duplode
     - [#363](https://github.com/bitemyapp/esqueleto/pull/363)
       - Add missing `just` to left join examples in the Haddocks
+
 
 3.5.9.0
 =======
diff --git a/esqueleto.cabal b/esqueleto.cabal
--- a/esqueleto.cabal
+++ b/esqueleto.cabal
@@ -2,7 +2,7 @@
 
 name:           esqueleto
 
-version:        3.5.9.1
+version:        3.5.10.0
 synopsis:       Type-safe EDSL for SQL queries on persistent backends.
 description:    @esqueleto@ is a bare bones, type-safe EDSL for SQL queries that works with unmodified @persistent@ SQL backends.  Its language closely resembles SQL, so you don't have to learn new concepts, just new syntax, and it's fairly easy to predict the generated SQL and optimize it for your backend. Most kinds of errors committed when writing SQL are caught as compile-time errors---although it is possible to write type-checked @esqueleto@ queries that fail at runtime.
                 .
diff --git a/src/Database/Esqueleto/Experimental.hs b/src/Database/Esqueleto/Experimental.hs
--- a/src/Database/Esqueleto/Experimental.hs
+++ b/src/Database/Esqueleto/Experimental.hs
@@ -65,6 +65,7 @@
     -- * The Normal Stuff
     , where_
     , groupBy
+    , groupBy_
     , orderBy
     , rand
     , asc
@@ -85,6 +86,7 @@
 
     , val
     , isNothing
+    , isNothing_
     , just
     , nothing
     , joinV
diff --git a/src/Database/Esqueleto/Experimental/ToAlias.hs b/src/Database/Esqueleto/Experimental/ToAlias.hs
--- a/src/Database/Esqueleto/Experimental/ToAlias.hs
+++ b/src/Database/Esqueleto/Experimental/ToAlias.hs
@@ -90,3 +90,127 @@
          , ToAlias h
          ) => ToAlias (a,b,c,d,e,f,g,h) where
     toAlias x = to8 <$> (toAlias $ from8 x)
+
+instance ( ToAlias a
+         , ToAlias b
+         , ToAlias c
+         , ToAlias d
+         , ToAlias e
+         , ToAlias f
+         , ToAlias g
+         , ToAlias h
+         , ToAlias i
+         ) => ToAlias (a,b,c,d,e,f,g,h,i) where
+    toAlias x = to9 <$> (toAlias $ from9 x)
+
+instance ( ToAlias a
+         , ToAlias b
+         , ToAlias c
+         , ToAlias d
+         , ToAlias e
+         , ToAlias f
+         , ToAlias g
+         , ToAlias h
+         , ToAlias i
+         , ToAlias j
+         ) => ToAlias (a,b,c,d,e,f,g,h,i,j) where
+    toAlias x = to10 <$> (toAlias $ from10 x)
+
+instance ( ToAlias a
+         , ToAlias b
+         , ToAlias c
+         , ToAlias d
+         , ToAlias e
+         , ToAlias f
+         , ToAlias g
+         , ToAlias h
+         , ToAlias i
+         , ToAlias j
+         , ToAlias k
+         ) => ToAlias (a,b,c,d,e,f,g,h,i,j,k) where
+    toAlias x = to11 <$> (toAlias $ from11 x)
+
+instance ( ToAlias a
+         , ToAlias b
+         , ToAlias c
+         , ToAlias d
+         , ToAlias e
+         , ToAlias f
+         , ToAlias g
+         , ToAlias h
+         , ToAlias i
+         , ToAlias j
+         , ToAlias k
+         , ToAlias l
+         ) => ToAlias (a,b,c,d,e,f,g,h,i,j,k,l) where
+    toAlias x = to12 <$> (toAlias $ from12 x)
+
+instance ( ToAlias a
+         , ToAlias b
+         , ToAlias c
+         , ToAlias d
+         , ToAlias e
+         , ToAlias f
+         , ToAlias g
+         , ToAlias h
+         , ToAlias i
+         , ToAlias j
+         , ToAlias k
+         , ToAlias l
+         , ToAlias m
+         ) => ToAlias (a,b,c,d,e,f,g,h,i,j,k,l,m) where
+    toAlias x = to13 <$> (toAlias $ from13 x)
+
+instance ( ToAlias a
+         , ToAlias b
+         , ToAlias c
+         , ToAlias d
+         , ToAlias e
+         , ToAlias f
+         , ToAlias g
+         , ToAlias h
+         , ToAlias i
+         , ToAlias j
+         , ToAlias k
+         , ToAlias l
+         , ToAlias m
+         , ToAlias n
+         ) => ToAlias (a,b,c,d,e,f,g,h,i,j,k,l,m,n) where
+    toAlias x = to14 <$> (toAlias $ from14 x)
+
+instance ( ToAlias a
+         , ToAlias b
+         , ToAlias c
+         , ToAlias d
+         , ToAlias e
+         , ToAlias f
+         , ToAlias g
+         , ToAlias h
+         , ToAlias i
+         , ToAlias j
+         , ToAlias k
+         , ToAlias l
+         , ToAlias m
+         , ToAlias n
+         , ToAlias o
+         ) => ToAlias (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) where
+    toAlias x = to15 <$> (toAlias $ from15 x)
+
+instance ( ToAlias a
+         , ToAlias b
+         , ToAlias c
+         , ToAlias d
+         , ToAlias e
+         , ToAlias f
+         , ToAlias g
+         , ToAlias h
+         , ToAlias i
+         , ToAlias j
+         , ToAlias k
+         , ToAlias l
+         , ToAlias m
+         , ToAlias n
+         , ToAlias o
+         , ToAlias p
+         ) => ToAlias (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) where
+    toAlias x = to16 <$> (toAlias $ from16 x)
diff --git a/src/Database/Esqueleto/Experimental/ToAliasReference.hs b/src/Database/Esqueleto/Experimental/ToAliasReference.hs
--- a/src/Database/Esqueleto/Experimental/ToAliasReference.hs
+++ b/src/Database/Esqueleto/Experimental/ToAliasReference.hs
@@ -88,3 +88,126 @@
          ) => ToAliasReference (a,b,c,d,e,f,g,h) where
     toAliasReference ident x = to8 <$> (toAliasReference ident $ from8 x)
 
+instance ( ToAliasReference a
+         , ToAliasReference b
+         , ToAliasReference c
+         , ToAliasReference d
+         , ToAliasReference e
+         , ToAliasReference f
+         , ToAliasReference g
+         , ToAliasReference h
+         , ToAliasReference i
+         ) => ToAliasReference (a,b,c,d,e,f,g,h,i) where
+    toAliasReference ident x = to9 <$> (toAliasReference ident $ from9 x)
+
+instance ( ToAliasReference a
+         , ToAliasReference b
+         , ToAliasReference c
+         , ToAliasReference d
+         , ToAliasReference e
+         , ToAliasReference f
+         , ToAliasReference g
+         , ToAliasReference h
+         , ToAliasReference i
+         , ToAliasReference j
+         ) => ToAliasReference (a,b,c,d,e,f,g,h,i,j) where
+    toAliasReference ident x = to10 <$> (toAliasReference ident $ from10 x)
+
+instance ( ToAliasReference a
+         , ToAliasReference b
+         , ToAliasReference c
+         , ToAliasReference d
+         , ToAliasReference e
+         , ToAliasReference f
+         , ToAliasReference g
+         , ToAliasReference h
+         , ToAliasReference i
+         , ToAliasReference j
+         , ToAliasReference k
+         ) => ToAliasReference (a,b,c,d,e,f,g,h,i,j,k) where
+    toAliasReference ident x = to11 <$> (toAliasReference ident $ from11 x)
+
+instance ( ToAliasReference a
+         , ToAliasReference b
+         , ToAliasReference c
+         , ToAliasReference d
+         , ToAliasReference e
+         , ToAliasReference f
+         , ToAliasReference g
+         , ToAliasReference h
+         , ToAliasReference i
+         , ToAliasReference j
+         , ToAliasReference k
+         , ToAliasReference l
+         ) => ToAliasReference (a,b,c,d,e,f,g,h,i,j,k,l) where
+    toAliasReference ident x = to12 <$> (toAliasReference ident $ from12 x)
+
+instance ( ToAliasReference a
+         , ToAliasReference b
+         , ToAliasReference c
+         , ToAliasReference d
+         , ToAliasReference e
+         , ToAliasReference f
+         , ToAliasReference g
+         , ToAliasReference h
+         , ToAliasReference i
+         , ToAliasReference j
+         , ToAliasReference k
+         , ToAliasReference l
+         , ToAliasReference m
+         ) => ToAliasReference (a,b,c,d,e,f,g,h,i,j,k,l,m) where
+    toAliasReference ident x = to13 <$> (toAliasReference ident $ from13 x)
+
+instance ( ToAliasReference a
+         , ToAliasReference b
+         , ToAliasReference c
+         , ToAliasReference d
+         , ToAliasReference e
+         , ToAliasReference f
+         , ToAliasReference g
+         , ToAliasReference h
+         , ToAliasReference i
+         , ToAliasReference j
+         , ToAliasReference k
+         , ToAliasReference l
+         , ToAliasReference m
+         , ToAliasReference n
+         ) => ToAliasReference (a,b,c,d,e,f,g,h,i,j,k,l,m,n) where
+    toAliasReference ident x = to14 <$> (toAliasReference ident $ from14 x)
+
+instance ( ToAliasReference a
+         , ToAliasReference b
+         , ToAliasReference c
+         , ToAliasReference d
+         , ToAliasReference e
+         , ToAliasReference f
+         , ToAliasReference g
+         , ToAliasReference h
+         , ToAliasReference i
+         , ToAliasReference j
+         , ToAliasReference k
+         , ToAliasReference l
+         , ToAliasReference m
+         , ToAliasReference n
+         , ToAliasReference o
+         ) => ToAliasReference (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) where
+    toAliasReference ident x = to15 <$> (toAliasReference ident $ from15 x)
+
+instance ( ToAliasReference a
+         , ToAliasReference b
+         , ToAliasReference c
+         , ToAliasReference d
+         , ToAliasReference e
+         , ToAliasReference f
+         , ToAliasReference g
+         , ToAliasReference h
+         , ToAliasReference i
+         , ToAliasReference j
+         , ToAliasReference k
+         , ToAliasReference l
+         , ToAliasReference m
+         , ToAliasReference n
+         , ToAliasReference o
+         , ToAliasReference p
+         ) => ToAliasReference (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) where
+    toAliasReference ident x = to16 <$> (toAliasReference ident $ from16 x)
diff --git a/src/Database/Esqueleto/Internal/Internal.hs b/src/Database/Esqueleto/Internal/Internal.hs
--- a/src/Database/Esqueleto/Internal/Internal.hs
+++ b/src/Database/Esqueleto/Internal/Internal.hs
@@ -261,6 +261,13 @@
 groupBy :: (ToSomeValues a) => a -> SqlQuery ()
 groupBy expr = Q $ W.tell mempty { sdGroupByClause = GroupBy $ toSomeValues expr }
 
+-- | An alias for 'groupBy' that avoids conflict with the term from "Data.List"
+-- 'Data.List.groupBy'.
+--
+-- @since 3.5.10.0
+groupBy_ :: (ToSomeValues a) => a -> SqlQuery ()
+groupBy_  = groupBy
+
 -- | @ORDER BY@ clause. See also 'asc' and 'desc'.
 --
 -- Multiple calls to 'orderBy' get concatenated on the final
@@ -660,6 +667,13 @@
     isNullExpr :: (TLB.Builder, a) -> (TLB.Builder, a)
     isNullExpr = first ((<> " IS NULL"))
 
+-- | An alias for 'isNothing' that avoids clashing with the function from
+-- "Data.Maybe" 'Data.Maybe.isNothing'.
+--
+-- @since 3.5.10.0
+isNothing_ :: PersistField typ => SqlExpr (Value (Maybe typ)) -> SqlExpr (Value Bool)
+isNothing_ = isNothing
+
 -- | Analogous to 'Just', promotes a value of type @typ@ into
 -- one of type @Maybe typ@.  It should hold that @'val' . Just
 -- === just . 'val'@.
@@ -3680,6 +3694,9 @@
 from11P :: Proxy (a,b,c,d,e,f,g,h,i,j,k) -> Proxy ((a,b),(c,d),(e,f),(g,h),(i,j),k)
 from11P = const Proxy
 
+from11 :: (a,b,c,d,e,f,g,h,i,j,k) -> ((a,b),(c,d),(e,f),(g,h),(i,j),k)
+from11 (a,b,c,d,e,f,g,h,i,j,k) = ((a,b),(c,d),(e,f),(g,h),(i,j),k)
+
 to11 :: ((a,b),(c,d),(e,f),(g,h),(i,j),k) -> (a,b,c,d,e,f,g,h,i,j,k)
 to11 ((a,b),(c,d),(e,f),(g,h),(i,j),k) = (a,b,c,d,e,f,g,h,i,j,k)
 
@@ -3717,6 +3734,9 @@
 from12P :: Proxy (a,b,c,d,e,f,g,h,i,j,k,l) -> Proxy ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l))
 from12P = const Proxy
 
+from12 :: (a,b,c,d,e,f,g,h,i,j,k,l) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l))
+from12 (a,b,c,d,e,f,g,h,i,j,k,l) = ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l))
+
 to12 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l)) -> (a,b,c,d,e,f,g,h,i,j,k,l)
 to12 ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l)) = (a,b,c,d,e,f,g,h,i,j,k,l)
 
@@ -3756,6 +3776,9 @@
 from13P :: Proxy (a,b,c,d,e,f,g,h,i,j,k,l,m) -> Proxy ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),m)
 from13P = const Proxy
 
+from13 :: (a,b,c,d,e,f,g,h,i,j,k,l,m) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),m)
+from13 (a,b,c,d,e,f,g,h,i,j,k,l,m) = ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),m)
+
 to13 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),m) -> (a,b,c,d,e,f,g,h,i,j,k,l,m)
 to13 ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),m) = (a,b,c,d,e,f,g,h,i,j,k,l,m)
 
@@ -3797,6 +3820,9 @@
 from14P :: Proxy (a,b,c,d,e,f,g,h,i,j,k,l,m,n) -> Proxy ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n))
 from14P = const Proxy
 
+from14 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n))
+from14 (a,b,c,d,e,f,g,h,i,j,k,l,m,n) = ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n))
+
 to14 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n)) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n)
 to14 ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n)) = (a,b,c,d,e,f,g,h,i,j,k,l,m,n)
 
@@ -3840,6 +3866,9 @@
 from15P :: Proxy (a,b,c,d,e,f,g,h,i,j,k,l,m,n, o) -> Proxy ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),o)
 from15P = const Proxy
 
+from15 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),o)
+from15 (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) = ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),o)
+
 to15 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),o) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)
 to15 ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),o) = (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)
 
@@ -3884,6 +3913,9 @@
 
 from16P :: Proxy (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) -> Proxy ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p))
 from16P = const Proxy
+
+from16 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p))
+from16 (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) = ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p))
 
 to16 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p)) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
 to16 ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p)) = (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
