ast: prepare to parse sexpr into something more meaningful
toplevel: introduce another layer of indirection