diff --git a/heredocs.cabal b/heredocs.cabal
--- a/heredocs.cabal
+++ b/heredocs.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                heredocs
-version:             0.1.2.1
+version:             0.1.3.0
 synopsis:            heredocument
 description:         heredocument
 homepage:            http://github.com/cutsea110/heredoc.git
@@ -24,6 +24,7 @@
                      TemplateHaskell
                      QuasiQuotes
   build-depends:       base >=4.8 && <4.9
+                     , bytestring >= 0.10.6.0
                      , doctest >= 0.11.0
                      , parsec >=3.1.9
                      , template-haskell >=2.10.0.0
@@ -36,6 +37,7 @@
   ghc-options:       -threaded
   main-is:           doctests.hs
   build-depends:     base
+                   , bytestring >= 0.10.6.0
                    , doctest >= 0.11.0
                    , heredocs
                    , text >= 1.2.2.1
diff --git a/src/Text/Heredoc.hs b/src/Text/Heredoc.hs
--- a/src/Text/Heredoc.hs
+++ b/src/Text/Heredoc.hs
@@ -27,7 +27,7 @@
 heredocFromString
     = either err (concatToQExp . arrange) . parse doc "heredoc"
     where
-      err = infixE <$> Just . pos <*> pure (varE '(++)) <*> Just . msg
+      err = infixE <$> Just . pos <*> pure (varE '(<>)) <*> Just . msg
       pos = litE <$> (stringL <$> show . errorPos)
       msg = litE <$> (stringL <$> concatMap messageString . errorMessages)
 
@@ -147,7 +147,7 @@
               (try (nil >> pure N) <|>
                try (L <$> list) <|>
                try (O <$> string ":")) <|> -- only pattern operator
-              (try (V <$> ((++) <$> wild <*> many1 (alphaNum <|> oneOf "_'"))) <|>
+              (try (V <$> ((<>) <$> wild <*> many1 (alphaNum <|> oneOf "_'"))) <|>
                try (wild >> pure W) <|>
                V <$> var) <|>
               C <$> con) <* spaceTabs
@@ -164,7 +164,7 @@
                try (O <$> op)) <|>
               (try (O' <$> op') <|> try (E  <$> subexp)) <|>
               V' <$> var' <|>
-              (try (V <$> ((++) <$> wild <*> many1 (alphaNum <|> oneOf "_'"))) <|>
+              (try (V <$> ((<>) <$> wild <*> many1 (alphaNum <|> oneOf "_'"))) <|>
                try (wild >> pure W) <|>
                V <$> var) <|>
               C  <$> con <|>
@@ -402,7 +402,7 @@
 
     concatToQExp [] = litE (stringL "")
     concatToQExp (x:xs) = infixE (Just (toQExp x))
-                                 (varE '(++))
+                                 (varE '(<>))
                                  (Just (concatToQExp xs))
 
 instance ToQExp Line where
@@ -410,7 +410,7 @@
         = appE (appE (appE (varE 'foldr)
                            (lamE [concatToQPat b]
                                  (infixE (Just (concatToQExp body))
-                                         (varE '(++))
+                                         (varE '(<>))
                                          Nothing)))
                 (litE (stringL "")))
           (concatToQExp e)
@@ -440,27 +440,27 @@
 
     concatToQExp (x:[]) = toQExp x
     concatToQExp (x:xs) = infixE (Just (toQExp x))
-                                 (varE '(++))
+                                 (varE '(<>))
                                  (Just (concatToQExp xs))
 
 instance ToQExp Line' where
     toQExp (n, x@(Normal _))
         = infixE (Just (litE (stringL (replicate n ' '))))
-                 (varE '(++))
+                 (varE '(<>))
                  (Just (toQExp x))
     toQExp (n, x) =  toQExp x -- Ctrl*
 
     concatToQExp [] = litE (stringL "")
     concatToQExp (x@(_, Normal _):y:ys)
         = infixE (Just (infixE (Just (toQExp x))
-                               (varE '(++))
+                               (varE '(<>))
                                (Just (litE (stringL "\n")))))
-                 (varE '(++))
+                 (varE '(<>))
                  (Just (concatToQExp (y:ys)))
     concatToQExp (x@(_, Normal _):xs)
         = infixE (Just (toQExp x))
-                 (varE '(++))
+                 (varE '(<>))
                  (Just (concatToQExp xs))
     concatToQExp (x:xs) = infixE (Just (toQExp x))
-                                 (varE '(++))
+                                 (varE '(<>))
                                  (Just (concatToQExp xs))
