Oops. The last code sample should have been > parseDeclarations :: Parser [Declaration] > parseDeclarations = mdo > decls <- many ParseDeclaration symbols > let symbols = makeSymbolTable decls > return decls