Cleaned up expression_grammar

Still struggling with forward declarations, e.g. set_fun_type which is
used in multiple grammars.