diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,8 @@
-### 0.16.5 [in preparation]
+### 0.16.6
+  * Added mention of Fortran 2003 version support in the help message
+  * Improved parsing of `allocate` statements
+
+### 0.16.5
   * Small fix to Fortran 2003 parsing around `procedure` statements.
 
 ### 0.16.4 (Feb 07, 2025)
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -59,7 +59,7 @@
 ```
 Usage: fortran-src [OPTION...] <file>
                           --version                        show fortran-src version
-  -v VERSION, -F VERSION  --fortranVersion=VERSION         Fortran version to use, format: Fortran[66/77/77Legacy/77Extended/90]
+  -v VERSION, -F VERSION  --fortranVersion=VERSION         Fortran version to use, format: Fortran[66/77/77Legacy/77Extended/90/2003]
   -a ACTION               --action=ACTION                  choose the action, possible values: lex|parse
   -t                      --typecheck                      parse and run typechecker
   -R                      --rename                         parse and rename variables
diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -51,7 +51,7 @@
 programName = "fortran-src"
 
 showVersion :: String
-showVersion = "0.16.5"
+showVersion = "0.16.6"
 
 main :: IO ()
 main = do
@@ -348,7 +348,7 @@
   , Option ['v','F']
       ["fortranVersion"]
       (ReqArg (\v opts -> opts { fortranVersion = selectFortranVersion v }) "VERSION")
-      "Fortran version to use, format: Fortran[66/77/77Legacy/77Extended/90]"
+      "Fortran version to use, format: Fortran[66/77/77Legacy/77Extended/90/2003]"
   , Option ['a']
       ["action"]
       (ReqArg (\a opts -> opts { action = read a }) "ACTION")
diff --git a/fortran-src.cabal b/fortran-src.cabal
--- a/fortran-src.cabal
+++ b/fortran-src.cabal
@@ -1,11 +1,11 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.36.0.
+-- This file has been generated from package.yaml by hpack version 0.38.0.
 --
 -- see: https://github.com/sol/hpack
 
 name:           fortran-src
-version:        0.16.5
+version:        0.16.6
 synopsis:       Parsers and analyses for Fortran standards 66, 77, 90, 95 and 2003 (partial).
 description:    Provides lexing, parsing, and basic analyses of Fortran code covering standards: FORTRAN 66, FORTRAN 77, Fortran 90, Fortran 95, Fortran 2003 (partial) and some legacy extensions. Includes data flow and basic block analysis, a renamer, and type analysis. For example usage, see the @<https://hackage.haskell.org/package/camfort CamFort>@ project, which uses fortran-src as its front end.
 category:       Language
@@ -27,9 +27,12 @@
     test-data/f77-include/foo.f
     test-data/f77-include/no-newline/foo.f
     test-data/module/leaf.f90
+    test-data/module/leaf.mod
     test-data/module/mid1.f90
     test-data/module/mid2.f90
     test-data/module/top.f90
+    test-data/pragma.f90
+    test-data/pragma.f90.expected
     test-data/rewriter/replacementsmap-columnlimit/001_foo.f
     test-data/rewriter/replacementsmap-columnlimit/001_foo.f.expected
     test-data/rewriter/replacementsmap-columnlimit/002_other.f
@@ -61,6 +64,10 @@
     test-data/rewriter/replacementsmap-simple/005_unicode.f
     test-data/rewriter/replacementsmap-simple/005_unicode.f.expected
     test-data/rewriter/temp-failure/fail.f
+    test-data/small.f90
+    test-data/small.f90.expected
+    test-data/st.expected
+    test-data/st2.expected
 
 source-repository head
   type: git
diff --git a/test-data/module/leaf.mod b/test-data/module/leaf.mod
new file mode 100644
Binary files /dev/null and b/test-data/module/leaf.mod differ
diff --git a/test-data/pragma.f90 b/test-data/pragma.f90
new file mode 100644
--- /dev/null
+++ b/test-data/pragma.f90
@@ -0,0 +1,30 @@
+module foo
+  implicit none
+  != unit s :: j
+  integer :: j
+#ifdef PRAGMALAND
+  use iso_c_binding
+#endif
+  != unit t :: k
+  integer :: k
+
+!! Example with a CPP ifdef
+  contains
+    subroutine main()
+      integer :: x
+      x = simple(k) + simple(1)
+      x = simple(j)
+    end subroutine
+    function simple(x) result(i)
+        integer :: x
+        integer :: i
+        i = x * x
+        ! thest
+#ifdef CAM_PROFILE
+        print *, "Hello from simple"
+        i = i + 0
+#endif
+        ! thingummy
+        print *, "Hello from simple"
+    end function
+end module
diff --git a/test-data/pragma.f90.expected b/test-data/pragma.f90.expected
new file mode 100644
--- /dev/null
+++ b/test-data/pragma.f90.expected
@@ -0,0 +1,292 @@
+ProgramFile {programFileMeta = MetaInfo {miVersion = Fortran90,
+                                         miFilename = "test-data/pragma.f90"},
+             programFileProgramUnits = [PUModule ()
+                                                 (1:0)-(30:9)
+                                                 "foo"
+                                                 [BlStatement ()
+                                                              (2:2)-(2:14)
+                                                              Nothing
+                                                              (StImplicit ()
+                                                                          (2:2)-(2:14)
+                                                                          Nothing),
+                                                  BlComment ()
+                                                            (3:2)-(3:15)
+                                                            (Comment "= unit s :: j"),
+                                                  BlStatement ()
+                                                              (4:2)-(4:13)
+                                                              Nothing
+                                                              (StDeclaration ()
+                                                                             (4:2)-(4:13)
+                                                                             (TypeSpec
+                                                                                      {typeSpecAnno = (),
+                                                                                       typeSpecSpan = (4:2)-(4:8),
+                                                                                       typeSpecBaseType = TypeInteger,
+                                                                                       typeSpecSelector = Nothing})
+                                                                             Nothing
+                                                                             (AList
+                                                                                   {alistAnno = (),
+                                                                                    alistSpan = (4:13)-(4:13),
+                                                                                    alistList = [Declarator {declaratorAnno = (),
+                                                                                                             declaratorSpan = (4:13)-(4:13),
+                                                                                                             declaratorVariable = ExpValue ()
+                                                                                                                                           (4:13)-(4:13)
+                                                                                                                                           (ValVariable "j"),
+                                                                                                             declaratorType = ScalarDecl,
+                                                                                                             declaratorLength = Nothing,
+                                                                                                             declaratorInitial = Nothing}]})),
+                                                  BlStatement ()
+                                                              (6:2)-(6:18)
+                                                              Nothing
+                                                              (StUse ()
+                                                                     (6:2)-(6:18)
+                                                                     (ExpValue ()
+                                                                               (6:6)-(6:18)
+                                                                               (ValVariable "iso_c_binding"))
+                                                                     Nothing
+                                                                     Permissive
+                                                                     Nothing),
+                                                  BlComment ()
+                                                            (8:2)-(8:15)
+                                                            (Comment "= unit t :: k"),
+                                                  BlStatement ()
+                                                              (9:2)-(9:13)
+                                                              Nothing
+                                                              (StDeclaration ()
+                                                                             (9:2)-(9:13)
+                                                                             (TypeSpec
+                                                                                      {typeSpecAnno = (),
+                                                                                       typeSpecSpan = (9:2)-(9:8),
+                                                                                       typeSpecBaseType = TypeInteger,
+                                                                                       typeSpecSelector = Nothing})
+                                                                             Nothing
+                                                                             (AList
+                                                                                   {alistAnno = (),
+                                                                                    alistSpan = (9:13)-(9:13),
+                                                                                    alistList = [Declarator {declaratorAnno = (),
+                                                                                                             declaratorSpan = (9:13)-(9:13),
+                                                                                                             declaratorVariable = ExpValue ()
+                                                                                                                                           (9:13)-(9:13)
+                                                                                                                                           (ValVariable "k"),
+                                                                                                             declaratorType = ScalarDecl,
+                                                                                                             declaratorLength = Nothing,
+                                                                                                             declaratorInitial = Nothing}]})),
+                                                  BlComment ()
+                                                            (11:0)-(11:26)
+                                                            (Comment "! example with a cpp ifdef")]
+                                                 (Just [PUSubroutine ()
+                                                                     (13:4)-(17:17)
+                                                                     (Nothing,
+                                                                      Nothing)
+                                                                     "main"
+                                                                     Nothing
+                                                                     [BlStatement ()
+                                                                                  (14:6)-(14:17)
+                                                                                  Nothing
+                                                                                  (StDeclaration ()
+                                                                                                 (14:6)-(14:17)
+                                                                                                 (TypeSpec
+                                                                                                          {typeSpecAnno = (),
+                                                                                                           typeSpecSpan = (14:6)-(14:12),
+                                                                                                           typeSpecBaseType = TypeInteger,
+                                                                                                           typeSpecSelector = Nothing})
+                                                                                                 Nothing
+                                                                                                 (AList
+                                                                                                       {alistAnno = (),
+                                                                                                        alistSpan = (14:17)-(14:17),
+                                                                                                        alistList = [Declarator {declaratorAnno = (),
+                                                                                                                                 declaratorSpan = (14:17)-(14:17),
+                                                                                                                                 declaratorVariable = ExpValue ()
+                                                                                                                                                               (14:17)-(14:17)
+                                                                                                                                                               (ValVariable "x"),
+                                                                                                                                 declaratorType = ScalarDecl,
+                                                                                                                                 declaratorLength = Nothing,
+                                                                                                                                 declaratorInitial = Nothing}]})),
+                                                                      BlStatement ()
+                                                                                  (15:6)-(15:30)
+                                                                                  Nothing
+                                                                                  (StExpressionAssign ()
+                                                                                                      (15:6)-(15:30)
+                                                                                                      (ExpValue ()
+                                                                                                                (15:6)-(15:6)
+                                                                                                                (ValVariable "x"))
+                                                                                                      (ExpBinary ()
+                                                                                                                 (15:10)-(15:30)
+                                                                                                                 Addition
+                                                                                                                 (ExpFunctionCall ()
+                                                                                                                                  (15:10)-(15:18)
+                                                                                                                                  (ExpValue ()
+                                                                                                                                            (15:10)-(15:15)
+                                                                                                                                            (ValVariable "simple"))
+                                                                                                                                  (AList
+                                                                                                                                        {alistAnno = (),
+                                                                                                                                         alistSpan = (15:17)-(15:17),
+                                                                                                                                         alistList = [Argument {argumentAnno = (),
+                                                                                                                                                                argumentSpan = (15:17)-(15:17),
+                                                                                                                                                                argumentName = Nothing,
+                                                                                                                                                                argumentExpr = ArgExpr (ExpValue ()
+                                                                                                                                                                                                 (15:17)-(15:17)
+                                                                                                                                                                                                 (ValVariable "k"))}]}))
+                                                                                                                 (ExpFunctionCall ()
+                                                                                                                                  (15:22)-(15:30)
+                                                                                                                                  (ExpValue ()
+                                                                                                                                            (15:22)-(15:27)
+                                                                                                                                            (ValVariable "simple"))
+                                                                                                                                  (AList
+                                                                                                                                        {alistAnno = (),
+                                                                                                                                         alistSpan = (15:29)-(15:29),
+                                                                                                                                         alistList = [Argument {argumentAnno = (),
+                                                                                                                                                                argumentSpan = (15:29)-(15:29),
+                                                                                                                                                                argumentName = Nothing,
+                                                                                                                                                                argumentExpr = ArgExpr (ExpValue ()
+                                                                                                                                                                                                 (15:29)-(15:29)
+                                                                                                                                                                                                 (ValInteger "1"
+                                                                                                                                                                                                             Nothing))}]})))),
+                                                                      BlStatement ()
+                                                                                  (16:6)-(16:18)
+                                                                                  Nothing
+                                                                                  (StExpressionAssign ()
+                                                                                                      (16:6)-(16:18)
+                                                                                                      (ExpValue ()
+                                                                                                                (16:6)-(16:6)
+                                                                                                                (ValVariable "x"))
+                                                                                                      (ExpFunctionCall ()
+                                                                                                                       (16:10)-(16:18)
+                                                                                                                       (ExpValue ()
+                                                                                                                                 (16:10)-(16:15)
+                                                                                                                                 (ValVariable "simple"))
+                                                                                                                       (AList
+                                                                                                                             {alistAnno = (),
+                                                                                                                              alistSpan = (16:17)-(16:17),
+                                                                                                                              alistList = [Argument {argumentAnno = (),
+                                                                                                                                                     argumentSpan = (16:17)-(16:17),
+                                                                                                                                                     argumentName = Nothing,
+                                                                                                                                                     argumentExpr = ArgExpr (ExpValue ()
+                                                                                                                                                                                      (16:17)-(16:17)
+                                                                                                                                                                                      (ValVariable "j"))}]})))]
+                                                                     Nothing,
+                                                        PUFunction ()
+                                                                   (18:4)-(29:15)
+                                                                   Nothing
+                                                                   (Nothing,
+                                                                    Nothing)
+                                                                   "simple"
+                                                                   (Just AList {alistAnno = (),
+                                                                                alistSpan = (18:20)-(18:20),
+                                                                                alistList = [ExpValue ()
+                                                                                                      (18:20)-(18:20)
+                                                                                                      (ValVariable "x")]})
+                                                                   (Just ExpValue ()
+                                                                                  (18:30)-(18:30)
+                                                                                  (ValVariable "i"))
+                                                                   [BlStatement ()
+                                                                                (19:8)-(19:19)
+                                                                                Nothing
+                                                                                (StDeclaration ()
+                                                                                               (19:8)-(19:19)
+                                                                                               (TypeSpec
+                                                                                                        {typeSpecAnno = (),
+                                                                                                         typeSpecSpan = (19:8)-(19:14),
+                                                                                                         typeSpecBaseType = TypeInteger,
+                                                                                                         typeSpecSelector = Nothing})
+                                                                                               Nothing
+                                                                                               (AList
+                                                                                                     {alistAnno = (),
+                                                                                                      alistSpan = (19:19)-(19:19),
+                                                                                                      alistList = [Declarator {declaratorAnno = (),
+                                                                                                                               declaratorSpan = (19:19)-(19:19),
+                                                                                                                               declaratorVariable = ExpValue ()
+                                                                                                                                                             (19:19)-(19:19)
+                                                                                                                                                             (ValVariable "x"),
+                                                                                                                               declaratorType = ScalarDecl,
+                                                                                                                               declaratorLength = Nothing,
+                                                                                                                               declaratorInitial = Nothing}]})),
+                                                                    BlStatement ()
+                                                                                (20:8)-(20:19)
+                                                                                Nothing
+                                                                                (StDeclaration ()
+                                                                                               (20:8)-(20:19)
+                                                                                               (TypeSpec
+                                                                                                        {typeSpecAnno = (),
+                                                                                                         typeSpecSpan = (20:8)-(20:14),
+                                                                                                         typeSpecBaseType = TypeInteger,
+                                                                                                         typeSpecSelector = Nothing})
+                                                                                               Nothing
+                                                                                               (AList
+                                                                                                     {alistAnno = (),
+                                                                                                      alistSpan = (20:19)-(20:19),
+                                                                                                      alistList = [Declarator {declaratorAnno = (),
+                                                                                                                               declaratorSpan = (20:19)-(20:19),
+                                                                                                                               declaratorVariable = ExpValue ()
+                                                                                                                                                             (20:19)-(20:19)
+                                                                                                                                                             (ValVariable "i"),
+                                                                                                                               declaratorType = ScalarDecl,
+                                                                                                                               declaratorLength = Nothing,
+                                                                                                                               declaratorInitial = Nothing}]})),
+                                                                    BlStatement ()
+                                                                                (21:8)-(21:16)
+                                                                                Nothing
+                                                                                (StExpressionAssign ()
+                                                                                                    (21:8)-(21:16)
+                                                                                                    (ExpValue ()
+                                                                                                              (21:8)-(21:8)
+                                                                                                              (ValVariable "i"))
+                                                                                                    (ExpBinary ()
+                                                                                                               (21:12)-(21:16)
+                                                                                                               Multiplication
+                                                                                                               (ExpValue ()
+                                                                                                                         (21:12)-(21:12)
+                                                                                                                         (ValVariable "x"))
+                                                                                                               (ExpValue ()
+                                                                                                                         (21:16)-(21:16)
+                                                                                                                         (ValVariable "x")))),
+                                                                    BlComment ()
+                                                                              (22:8)-(22:14)
+                                                                              (Comment " thest"),
+                                                                    BlStatement ()
+                                                                                (24:8)-(24:35)
+                                                                                Nothing
+                                                                                (StPrint ()
+                                                                                         (24:8)-(24:35)
+                                                                                         (ExpValue ()
+                                                                                                   (24:14)-(24:14)
+                                                                                                   ValStar)
+                                                                                         (Just AList {alistAnno = (),
+                                                                                                      alistSpan = (24:17)-(24:35),
+                                                                                                      alistList = [ExpValue ()
+                                                                                                                            (24:17)-(24:35)
+                                                                                                                            (ValString "Hello from simple")]})),
+                                                                    BlStatement ()
+                                                                                (25:8)-(25:16)
+                                                                                Nothing
+                                                                                (StExpressionAssign ()
+                                                                                                    (25:8)-(25:16)
+                                                                                                    (ExpValue ()
+                                                                                                              (25:8)-(25:8)
+                                                                                                              (ValVariable "i"))
+                                                                                                    (ExpBinary ()
+                                                                                                               (25:12)-(25:16)
+                                                                                                               Addition
+                                                                                                               (ExpValue ()
+                                                                                                                         (25:12)-(25:12)
+                                                                                                                         (ValVariable "i"))
+                                                                                                               (ExpValue ()
+                                                                                                                         (25:16)-(25:16)
+                                                                                                                         (ValInteger "0"
+                                                                                                                                     Nothing)))),
+                                                                    BlComment ()
+                                                                              (27:8)-(27:18)
+                                                                              (Comment " thingummy"),
+                                                                    BlStatement ()
+                                                                                (28:8)-(28:35)
+                                                                                Nothing
+                                                                                (StPrint ()
+                                                                                         (28:8)-(28:35)
+                                                                                         (ExpValue ()
+                                                                                                   (28:14)-(28:14)
+                                                                                                   ValStar)
+                                                                                         (Just AList {alistAnno = (),
+                                                                                                      alistSpan = (28:17)-(28:35),
+                                                                                                      alistList = [ExpValue ()
+                                                                                                                            (28:17)-(28:35)
+                                                                                                                            (ValString "Hello from simple")]}))]
+                                                                   Nothing])]}
diff --git a/test-data/small.f90 b/test-data/small.f90
new file mode 100644
--- /dev/null
+++ b/test-data/small.f90
@@ -0,0 +1,17 @@
+module foo
+  implicit none
+  ! comment
+  integer :: i
+  #ifdef PRAGMALAND
+  use iso_c_binding
+#endif
+contains
+subroutine main()
+  integer :: x
+  x = simple(k) + simple(1)
+  x = simple(j)
+end subroutine
+function simple(x) result(i)
+  integer :: x
+end function
+end module
diff --git a/test-data/small.f90.expected b/test-data/small.f90.expected
new file mode 100644
--- /dev/null
+++ b/test-data/small.f90.expected
@@ -0,0 +1,175 @@
+ProgramFile {programFileMeta = MetaInfo {miVersion = Fortran90,
+                                         miFilename = "test-data/small.f90"},
+             programFileProgramUnits = [PUModule ()
+                                                 (1:0)-(17:9)
+                                                 "foo"
+                                                 [BlStatement ()
+                                                              (2:2)-(2:14)
+                                                              Nothing
+                                                              (StImplicit ()
+                                                                          (2:2)-(2:14)
+                                                                          Nothing),
+                                                  BlComment ()
+                                                            (3:2)-(3:10)
+                                                            (Comment " comment"),
+                                                  BlStatement ()
+                                                              (4:2)-(4:13)
+                                                              Nothing
+                                                              (StDeclaration ()
+                                                                             (4:2)-(4:13)
+                                                                             (TypeSpec
+                                                                                      {typeSpecAnno = (),
+                                                                                       typeSpecSpan = (4:2)-(4:8),
+                                                                                       typeSpecBaseType = TypeInteger,
+                                                                                       typeSpecSelector = Nothing})
+                                                                             Nothing
+                                                                             (AList
+                                                                                   {alistAnno = (),
+                                                                                    alistSpan = (4:13)-(4:13),
+                                                                                    alistList = [Declarator {declaratorAnno = (),
+                                                                                                             declaratorSpan = (4:13)-(4:13),
+                                                                                                             declaratorVariable = ExpValue ()
+                                                                                                                                           (4:13)-(4:13)
+                                                                                                                                           (ValVariable "i"),
+                                                                                                             declaratorType = ScalarDecl,
+                                                                                                             declaratorLength = Nothing,
+                                                                                                             declaratorInitial = Nothing}]})),
+                                                  BlStatement ()
+                                                              (6:2)-(6:18)
+                                                              Nothing
+                                                              (StUse ()
+                                                                     (6:2)-(6:18)
+                                                                     (ExpValue ()
+                                                                               (6:6)-(6:18)
+                                                                               (ValVariable "iso_c_binding"))
+                                                                     Nothing
+                                                                     Permissive
+                                                                     Nothing)]
+                                                 (Just [PUSubroutine ()
+                                                                     (9:0)-(13:13)
+                                                                     (Nothing,
+                                                                      Nothing)
+                                                                     "main"
+                                                                     Nothing
+                                                                     [BlStatement ()
+                                                                                  (10:2)-(10:13)
+                                                                                  Nothing
+                                                                                  (StDeclaration ()
+                                                                                                 (10:2)-(10:13)
+                                                                                                 (TypeSpec
+                                                                                                          {typeSpecAnno = (),
+                                                                                                           typeSpecSpan = (10:2)-(10:8),
+                                                                                                           typeSpecBaseType = TypeInteger,
+                                                                                                           typeSpecSelector = Nothing})
+                                                                                                 Nothing
+                                                                                                 (AList
+                                                                                                       {alistAnno = (),
+                                                                                                        alistSpan = (10:13)-(10:13),
+                                                                                                        alistList = [Declarator {declaratorAnno = (),
+                                                                                                                                 declaratorSpan = (10:13)-(10:13),
+                                                                                                                                 declaratorVariable = ExpValue ()
+                                                                                                                                                               (10:13)-(10:13)
+                                                                                                                                                               (ValVariable "x"),
+                                                                                                                                 declaratorType = ScalarDecl,
+                                                                                                                                 declaratorLength = Nothing,
+                                                                                                                                 declaratorInitial = Nothing}]})),
+                                                                      BlStatement ()
+                                                                                  (11:2)-(11:26)
+                                                                                  Nothing
+                                                                                  (StExpressionAssign ()
+                                                                                                      (11:2)-(11:26)
+                                                                                                      (ExpValue ()
+                                                                                                                (11:2)-(11:2)
+                                                                                                                (ValVariable "x"))
+                                                                                                      (ExpBinary ()
+                                                                                                                 (11:6)-(11:26)
+                                                                                                                 Addition
+                                                                                                                 (ExpFunctionCall ()
+                                                                                                                                  (11:6)-(11:14)
+                                                                                                                                  (ExpValue ()
+                                                                                                                                            (11:6)-(11:11)
+                                                                                                                                            (ValVariable "simple"))
+                                                                                                                                  (AList
+                                                                                                                                        {alistAnno = (),
+                                                                                                                                         alistSpan = (11:13)-(11:13),
+                                                                                                                                         alistList = [Argument {argumentAnno = (),
+                                                                                                                                                                argumentSpan = (11:13)-(11:13),
+                                                                                                                                                                argumentName = Nothing,
+                                                                                                                                                                argumentExpr = ArgExpr (ExpValue ()
+                                                                                                                                                                                                 (11:13)-(11:13)
+                                                                                                                                                                                                 (ValVariable "k"))}]}))
+                                                                                                                 (ExpFunctionCall ()
+                                                                                                                                  (11:18)-(11:26)
+                                                                                                                                  (ExpValue ()
+                                                                                                                                            (11:18)-(11:23)
+                                                                                                                                            (ValVariable "simple"))
+                                                                                                                                  (AList
+                                                                                                                                        {alistAnno = (),
+                                                                                                                                         alistSpan = (11:25)-(11:25),
+                                                                                                                                         alistList = [Argument {argumentAnno = (),
+                                                                                                                                                                argumentSpan = (11:25)-(11:25),
+                                                                                                                                                                argumentName = Nothing,
+                                                                                                                                                                argumentExpr = ArgExpr (ExpValue ()
+                                                                                                                                                                                                 (11:25)-(11:25)
+                                                                                                                                                                                                 (ValInteger "1"
+                                                                                                                                                                                                             Nothing))}]})))),
+                                                                      BlStatement ()
+                                                                                  (12:2)-(12:14)
+                                                                                  Nothing
+                                                                                  (StExpressionAssign ()
+                                                                                                      (12:2)-(12:14)
+                                                                                                      (ExpValue ()
+                                                                                                                (12:2)-(12:2)
+                                                                                                                (ValVariable "x"))
+                                                                                                      (ExpFunctionCall ()
+                                                                                                                       (12:6)-(12:14)
+                                                                                                                       (ExpValue ()
+                                                                                                                                 (12:6)-(12:11)
+                                                                                                                                 (ValVariable "simple"))
+                                                                                                                       (AList
+                                                                                                                             {alistAnno = (),
+                                                                                                                              alistSpan = (12:13)-(12:13),
+                                                                                                                              alistList = [Argument {argumentAnno = (),
+                                                                                                                                                     argumentSpan = (12:13)-(12:13),
+                                                                                                                                                     argumentName = Nothing,
+                                                                                                                                                     argumentExpr = ArgExpr (ExpValue ()
+                                                                                                                                                                                      (12:13)-(12:13)
+                                                                                                                                                                                      (ValVariable "j"))}]})))]
+                                                                     Nothing,
+                                                        PUFunction ()
+                                                                   (14:0)-(16:11)
+                                                                   Nothing
+                                                                   (Nothing,
+                                                                    Nothing)
+                                                                   "simple"
+                                                                   (Just AList {alistAnno = (),
+                                                                                alistSpan = (14:16)-(14:16),
+                                                                                alistList = [ExpValue ()
+                                                                                                      (14:16)-(14:16)
+                                                                                                      (ValVariable "x")]})
+                                                                   (Just ExpValue ()
+                                                                                  (14:26)-(14:26)
+                                                                                  (ValVariable "i"))
+                                                                   [BlStatement ()
+                                                                                (15:2)-(15:13)
+                                                                                Nothing
+                                                                                (StDeclaration ()
+                                                                                               (15:2)-(15:13)
+                                                                                               (TypeSpec
+                                                                                                        {typeSpecAnno = (),
+                                                                                                         typeSpecSpan = (15:2)-(15:8),
+                                                                                                         typeSpecBaseType = TypeInteger,
+                                                                                                         typeSpecSelector = Nothing})
+                                                                                               Nothing
+                                                                                               (AList
+                                                                                                     {alistAnno = (),
+                                                                                                      alistSpan = (15:13)-(15:13),
+                                                                                                      alistList = [Declarator {declaratorAnno = (),
+                                                                                                                               declaratorSpan = (15:13)-(15:13),
+                                                                                                                               declaratorVariable = ExpValue ()
+                                                                                                                                                             (15:13)-(15:13)
+                                                                                                                                                             (ValVariable "x"),
+                                                                                                                               declaratorType = ScalarDecl,
+                                                                                                                               declaratorLength = Nothing,
+                                                                                                                               declaratorInitial = Nothing}]}))]
+                                                                   Nothing])]}
diff --git a/test-data/st.expected b/test-data/st.expected
new file mode 100644
--- /dev/null
+++ b/test-data/st.expected
@@ -0,0 +1,10 @@
+(StPrint ()
+                                                                                         (24:8)-(24:35)
+                                                                                         (ExpValue ()
+                                                                                                   (24:14)-(24:14)
+                                                                                                   ValStar)
+                                                                                         (Just AList {alistAnno = (),
+                                                                                                      alistSpan = (24:17)-(24:35),
+                                                                                                      alistList = [ExpValue ()
+                                                                                                                            (24:17)-(24:35)
+                                                                                                                            (ValString "Hello from simple")]}))
diff --git a/test-data/st2.expected b/test-data/st2.expected
new file mode 100644
--- /dev/null
+++ b/test-data/st2.expected
@@ -0,0 +1,5 @@
+TypeSpec
+                                                                                      {typeSpecAnno = (),
+                                                                                       typeSpecSpan = (4:2)-(4:8),
+                                                                                       typeSpecBaseType = TypeInteger,
+                                                                                       typeSpecSelector = Nothing}
