- [ ] reorganize codebase to read from top to bottom (type declarations, functions definitions, etc) - [ ] bump go version and use generics - [ ] rewrite tests without testify (use std `testing` library and `cmp` if needed) - [ ] unify CI - [ ] unify README