Forgot to add 'sealed' modifier to 'AST' trait.