Implement AST and Numbers<T> class