tiny bit on abstract syntax