diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,12 @@
+# Floskell 0.10.3 (2020-05-17)
+
+* Updated to haskell-src-exts-1.23.0, with support for Block Arguments
+  and Arrow Brackets
+* Compatible with GHC-8.10.1
+
 # Floskell 0.10.2 (2019-11-11)
 
-* Updated to haskell-src-exts-1.21.0, with support for Template
+* Updated to haskell-src-exts-1.22.0, with support for Template
   Haskell typed splices and quotations
 * Compatible with GHC-8.8.1
 
diff --git a/LICENSE.md b/LICENSE.md
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,5 +1,5 @@
 Copyright (c) 2014, Chris Done
-Copyright (c) 2016-2019, Enno Cramer
+Copyright (c) 2016-2020, Enno Cramer
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -234,7 +234,7 @@
 The `--print-config` command line option can be used to create an
 initial configuration file.
 
-    $ floskell --style cramer --print-config > ~/.floskell
+    $ floskell --style cramer --print-config > ~/.floskell.json
 
 This command will create a configuration file with all fields and the
 entire definition of the selected style in the `formatting` block.
@@ -242,7 +242,7 @@
 ### Configuration File Location
 
 * If a style is given on the command line, but no explicit
-  configuration file, the style will be used as-is and not
+  configuration file, the style will be used as-is and no
   configuration file will be loaded.
 
 * If both a style and an explicit configuration file are given on the
diff --git a/floskell.cabal b/floskell.cabal
--- a/floskell.cabal
+++ b/floskell.cabal
@@ -1,5 +1,5 @@
 name:                floskell
-version:             0.10.2
+version:             0.10.3
 synopsis:            A flexible Haskell source code pretty printer
 description:         A flexible Haskell source code pretty printer.
                      .
@@ -9,10 +9,10 @@
 license-file:        LICENSE.md
 author:              Chris Done, Andrew Gibiansky, Tobias Pflug, Pierre Radermecker, Enno Cramer
 maintainer:          ecramer@memfrob.de
-copyright:           2014 Chris Done, 2015 Andrew Gibiansky, 2016-2019 Enno Cramer
+copyright:           2014 Chris Done, 2015 Andrew Gibiansky, 2016-2020 Enno Cramer
 category:            Development
 build-type:          Simple
-cabal-version:       >=1.8
+cabal-version:       >=1.10
 homepage:            https://www.github.com/ennocramer/floskell
 bug-reports:         https://github.com/ennocramer/floskell/issues
 data-files:          contrib/floskell.el
@@ -29,6 +29,7 @@
 
 library
   hs-source-dirs:    src/
+  default-language:  Haskell2010
   ghc-options:       -Wall
   exposed-modules:   Floskell
                      Floskell.Attoparsec
@@ -42,7 +43,7 @@
                      Floskell.Printers
                      Floskell.Styles
                      Floskell.Types
-  build-depends:     base >=4.9 && <4.14
+  build-depends:     base >=4.9 && <4.15
                    , aeson >=0.11.3.0 && <1.5
                    , attoparsec >=0.13.1.0 && <0.14
                    , bytestring >=0.10.8.1 && <0.11
@@ -50,7 +51,7 @@
                    , data-default >=0.7.1.1 && <0.8
                    , directory >=1.2.6.2 && <1.4
                    , filepath >=1.4.1.0 && <1.5
-                   , haskell-src-exts >= 1.19 && <1.23
+                   , haskell-src-exts >= 1.19 && <1.24
                    , monad-dijkstra >=0.1.1 && <0.2
                    , mtl >=2.2.1 && <2.3
                    , text >=1.2.2.2 && <1.3
@@ -60,47 +61,50 @@
 
 executable floskell
   hs-source-dirs:    src/main
+  default-language:  Haskell2010
   ghc-options:       -Wall -Wno-missing-home-modules -optP-Wno-nonportable-include-path
   main-is:           Main.hs
-  build-depends:     base >=4.9 && <4.14
+  build-depends:     base >=4.9 && <4.15
                    , floskell
                    , aeson-pretty >=0.8.2 && <0.9
                    , bytestring >=0.10.8.1 && <0.11
                    , directory >=1.2.6.2 && <1.4
-                   , ghc-prim >=0.5.0.0 && <0.6
-                   , haskell-src-exts >= 1.19 && <1.23
+                   , ghc-prim >=0.5.0.0 && <0.7
+                   , haskell-src-exts >= 1.19 && <1.24
                    , optparse-applicative >=0.12.1.0 && <0.16
                    , text >=1.2.2.2 && <1.3
 
 test-suite floskell-test
-  type: exitcode-stdio-1.0
-  hs-source-dirs: src/main
+  type:              exitcode-stdio-1.0
+  hs-source-dirs:    src/main
+  default-language:  Haskell2010
   ghc-options:       -Wall -threaded -rtsopts -with-rtsopts=-N
   main-is:           Test.hs
   other-modules:     Markdone
-  build-depends:     base >=4.9 && <4.14
+  build-depends:     base >=4.9 && <4.15
                    , floskell
                    , bytestring >=0.10.8.1 && <0.11
                    , deepseq >=1.4.2.0 && <1.5
                    , exceptions >=0.8.3 && <0.12
-                   , haskell-src-exts >= 1.19 && <1.23
+                   , haskell-src-exts >= 1.19 && <1.24
                    , hspec >=2.2.4 && <2.8
                    , text >=1.2.2.2 && <1.3
                    , utf8-string >=1.0.1.1 && <1.1
 
 benchmark floskell-bench
-  type: exitcode-stdio-1.0
+  type:              exitcode-stdio-1.0
   hs-source-dirs:    src/main
+  default-language:  Haskell2010
   ghc-options:       -Wall -threaded -rtsopts -with-rtsopts=-N
   main-is:           Benchmark.hs
   other-modules:     Markdone
-  build-depends:     base >=4.9 && <4.14
+  build-depends:     base >=4.9 && <4.15
                    , floskell
                    , bytestring >=0.10.8.1 && <0.11
                    , criterion >=1.1.1.0 && <1.6
                    , deepseq >=1.4.2.0 && <1.5
                    , exceptions >=0.8.3 && <0.11
-                   , ghc-prim >=0.5.0.0 && <0.6
-                   , haskell-src-exts >= 1.19 && < 1.23
+                   , ghc-prim >=0.5.0.0 && <0.7
+                   , haskell-src-exts >= 1.19 && < 1.24
                    , text >=1.2.2.2 && <1.3
                    , utf8-string >=1.0.1.1 && <1.1
diff --git a/src/Floskell.hs b/src/Floskell.hs
--- a/src/Floskell.hs
+++ b/src/Floskell.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE CPP #-}
 
 {-# OPTIONS_GHC -fno-warn-name-shadowing #-}
 
@@ -28,7 +29,9 @@
 import qualified Data.ByteString.Lazy.UTF8  as UTF8
 import           Data.List
 import           Data.Maybe
+#if __GLASGOW_HASKELL__ <= 802
 import           Data.Monoid
+#endif
 
 import qualified Floskell.Buffer            as Buffer
 import           Floskell.Comments
diff --git a/src/Floskell/Pretty.hs b/src/Floskell/Pretty.hs
--- a/src/Floskell/Pretty.hs
+++ b/src/Floskell/Pretty.hs
@@ -1653,6 +1653,10 @@
         ++ replicate after (write "|")
 #endif
 
+#if MIN_VERSION_haskell_src_exts(1,23,0)
+    prettyPrint (ArrOp _ expr) = group Expression "(|" "|)" $ pretty expr
+#endif
+
     prettyPrint (TupleSection _ boxed mexprs) = case boxed of
         Boxed -> list Expression "(" ")" "," $ map (MayAst noNodeInfo) mexprs
         Unboxed -> list Expression "(#" "#)" "," $
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,6 +1,6 @@
-resolver: lts-14.14
+resolver: lts-14.22
 packages:
 - '.'
 extra-deps:
-- haskell-src-exts-1.22.0
+- haskell-src-exts-1.23.0
 - monad-dijkstra-0.1.1.2
