Hi, have a look at the issues: these items are already planned! In particular:
* to avoid allocations, one needs to write a few, more specialized functions. I find a little annoying to have to change the code for this, so I would also like to write rewrite rules for each one that transform the naive code (e.g. x += a * y) to the optimized one. The relevant issue is [here](https://github.com/unicredit/neo/issues/8). I have just a couple of rewrite rules and a way to [test they are being applied](https://github.com/unicredit/neo/blob/master/tests/rewrites.nim). This ticket is about writing more of them (and possibly exposing the relevant functions if a user wants to call them directly). If this makes the neo/dense module too big, we could think of moving these advanced functions and rewrites in a separate module. * matrices on the shared heap are already supported (in theory) but there are no standard constructors, nor examples for them. [This issue](https://github.com/unicredit/neo/issues/12) is just about that, and the [design doc](https://unicredit.github.io/neo/#design) explain how to implement it