i've had this repository working for a while now, and figured why not give it a 1.0 tag.
it still uses assert which is kinda messy, eventually, I might make its mode of error handling customizable.
it also has no documentation and is badly annotated.
still, it works well and is quite useful.