author defines a syntax where literals are given by data Lit = StrLit String | IntLit Int | Ident String deriving (Show, Eq)