Add comprehensive unit tests for common libraries such as tool/{util, ast, ex}, etc. For some standalone utility functions within these packages, we hope to add more unit tests to improve coverage.