Version 6 adds StateT to keep track of recursions within our expressions ^_^