refactored currentAST to a mixin
merged