diff --git a/ats-format.cabal b/ats-format.cabal
--- a/ats-format.cabal
+++ b/ats-format.cabal
@@ -1,5 +1,5 @@
 name:                ats-format
-version:             0.1.0.15
+version:             0.1.0.16
 synopsis:            A source-code formatter for ATS
 description:         An opinionated source-code formatter for ATS (http://www.ats-lang.org/).
 homepage:            https://hub.darcs.net/vmchale/ats-format#readme
diff --git a/src/Language/ATS.hs b/src/Language/ATS.hs
--- a/src/Language/ATS.hs
+++ b/src/Language/ATS.hs
@@ -21,6 +21,8 @@
                     , Universal (..)
                     , Existential (..)
                     , PreFunction (..)
+                    , StaticExpression (..)
+                    , Paired (..)
                     -- * Lexical types
                     , Token (..)
                     , AlexPosn (..)
diff --git a/src/Language/ATS/Parser.y b/src/Language/ATS/Parser.y
--- a/src/Language/ATS/Parser.y
+++ b/src/Language/ATS/Parser.y
@@ -460,6 +460,7 @@
 
 -- | Parse a constructor for a 'dataprop'
 DataPropLeaf : vbar Universals Expression { DataPropLeaf $2 $3 }
+             | Universals Expression { DataPropLeaf $1 $2 }
 
 -- | Parse several constructors for a 'dataprop'
 DataPropLeaves : DataPropLeaf { [$1] }
@@ -516,8 +517,10 @@
          | datatype identifier openParen Args closeParen eq Leaves { SumType $2 $4 $7 }
          | datavtype identifier eq Leaves { SumViewType $2 [] $4 }
          | datavtype identifier openParen Args closeParen eq Leaves { SumViewType $2 $4 $7 }
-         | abstype identifier openParen FullArgs closeParen eq Type { AbsType $1 $2 $4 $7 }
-         | absvtype identifier openParen FullArgs closeParen eq Type { AbsViewType $1 $2 $4 $7 }
+         | abstype identifier openParen FullArgs closeParen eq Type { AbsType $1 $2 $4 (Just $7) }
+         | abstype identifier openParen FullArgs closeParen { AbsType $1 $2 $4 Nothing }
+         | absvtype identifier openParen FullArgs closeParen eq Type { AbsViewType $1 $2 $4 (Just $7) }
+         | absvtype identifier openParen FullArgs closeParen { AbsViewType $1 $2 $4 Nothing }
          | dataprop identifier openParen FullArgs closeParen eq DataPropLeaves { DataProp $1 $2 $4 $7 }
          | absprop identifier openParen FullArgs closeParen { AbsProp $1 $2 [] }
          | typedef identifier eq Type { TypeDef $1 $2 [] $4 }
diff --git a/src/Language/ATS/PrettyPrint.hs b/src/Language/ATS/PrettyPrint.hs
--- a/src/Language/ATS/PrettyPrint.hs
+++ b/src/Language/ATS/PrettyPrint.hs
@@ -413,6 +413,8 @@
 typeHelper rs = group (flatAlt ("=" <$> indent 2 (prettyRecord rs)) ("=" <+> prettyRecord rs))
 
 instance Pretty Declaration where
+    pretty (AbsType _ s as Nothing)  = "abstype" <+> string s <> prettyArgs as
+    pretty (AbsViewType _ s as Nothing) = "absvtype" <+> string s <> prettyArgs as
     pretty (RecordType s [] [] rs)   = "typedef" <+> string s <+> "=" <+> prettyRecord rs
     pretty (RecordType s as [] rs)   = "typedef" <+> string s <> prettyArgs as <+> "=" <+> prettyRecord rs
     pretty (RecordViewType s [] [] rs) = "vtypedef" <+> string s <+> "=" </> prettyRecord rs
diff --git a/src/Language/ATS/Types.hs b/src/Language/ATS/Types.hs
--- a/src/Language/ATS/Types.hs
+++ b/src/Language/ATS/Types.hs
@@ -71,8 +71,8 @@
                  | ViewTypeDef AlexPosn String [Arg] Type
                  | SumType String [Arg] [(String, Maybe Type)] -- TODO [Arg] for here
                  | SumViewType String [Arg] [(String, Maybe Type)]
-                 | AbsType AlexPosn String [Arg] Type
-                 | AbsViewType AlexPosn String [Arg] Type
+                 | AbsType AlexPosn String [Arg] (Maybe Type)
+                 | AbsViewType AlexPosn String [Arg] (Maybe Type)
                  | OverloadOp AlexPosn BinOp Name
                  | Comment String
                  | DataProp AlexPosn String [Arg] [DataPropLeaf]
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,5 +1,5 @@
 ---
-resolver: lts-10.0
+resolver: lts-10.1
 packages:
   - '.'
 extra-deps:
