AST is now an interface. Just for neatness.