TODO [ ] Implement typechecking [ ] Implement unit and e2e tests [ ] Add docs (README.md and vitepress)