Add ASTDefaults and ASTExtend

- [x] ASTDefaults
- [x] ASTExtend