diff --git a/dhall-bash.cabal b/dhall-bash.cabal
--- a/dhall-bash.cabal
+++ b/dhall-bash.cabal
@@ -1,5 +1,5 @@
 Name: dhall-bash
-Version: 1.0.9
+Version: 1.0.10
 Cabal-Version: >=1.8.0.2
 Build-Type: Simple
 Tested-With: GHC == 7.10.2, GHC == 8.0.1
@@ -31,13 +31,12 @@
         base                      >= 4.8.0.0 && < 5   ,
         bytestring                              < 0.11,
         containers                              < 0.6 ,
-        dhall                     >= 1.10.0  && < 1.11,
+        dhall                     >= 1.11.0  && < 1.12,
         insert-ordered-containers >= 0.1.0.1 && < 0.3 ,
         neat-interpolation                      < 0.4 ,
         shell-escape                            < 0.3 ,
         text-format                             < 0.4 ,
-        text                      >= 0.2     && < 1.3 ,
-        vector                    >= 0.3     && < 0.13
+        text                      >= 0.2     && < 1.3
     Exposed-Modules: Dhall.Bash
     GHC-Options: -Wall
 
diff --git a/src/Dhall/Bash.hs b/src/Dhall/Bash.hs
--- a/src/Dhall/Bash.hs
+++ b/src/Dhall/Bash.hs
@@ -115,7 +115,6 @@
 import qualified Data.Text.Encoding
 import qualified Data.Text.Lazy
 import qualified Data.Text.Lazy.Builder
-import qualified Data.Vector
 import qualified Dhall.Core
 import qualified NeatInterpolation
 import qualified Text.ShellEscape
@@ -252,11 +251,9 @@
                 <>  ")"
         return bytes
     go (OptionalLit _ bs) = do
-        if Data.Vector.null bs
-            then do
-                let bytes = "unset " <> var
-                return bytes
-            else go (Data.Vector.head bs)
+        case bs of
+            Nothing -> return ("unset " <> var)
+            Just b  -> go b
     go (RecordLit a) = do
         let process (k, v) = do
                 v' <- dhallToExpression v
