diff --git a/language-ats.cabal b/language-ats.cabal
--- a/language-ats.cabal
+++ b/language-ats.cabal
@@ -1,5 +1,5 @@
 name:                language-ats
-version:             0.1.1.17
+version:             0.1.1.18
 synopsis:            Parser and pretty-printer for ATS.
 description:         Parser and pretty-printer for [ATS](http://www.ats-lang.org/), written with Happy and Alex.
 license:             BSD3
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
@@ -574,6 +574,7 @@
 OptExpression : { Nothing }
               | eq Expression { Just $2 } -- FIXME only let this happen for external declarations
               | let {% Left $ Expected $1 "=" "let" } -- TODO is this actually a good idea?
+              | ifcase {% Left $ Expected $1 "=" "ifcase" }
 
 -- | Parse a constructor for a 'dataprop'
 DataPropLeaf : vbar Universals Expression { DataPropLeaf $2 $3 Nothing }
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
@@ -521,10 +521,6 @@
 valSig :: (Pretty a) => Maybe a -> Doc
 valSig = prettySigG mempty mempty
 
--- prettyUniversalsNil :: [Universal] -> Doc
--- prettyUniversalsNil [] = mempty
--- prettyUniversalsNil us = prettyArgsU mempty softline (fmap pretty us)
-
 instance Pretty Declaration where
     pretty (AbsType _ s as t)              = "abstype" <+> text s <> prettyArgsNil as <> prettyMaybeType t
     pretty (AbsViewType _ s as Nothing)    = "absvtype" <+> text s <> prettyArgsNil as
