Sure, rewrite rules have to be written, and this is an ongoing work. I just added a way to test that they are in fact applied, since otherwise it is easy to get regressions.
Your suggestions for out parameters is neat, although I would not be able to use it directly, since many operations are operators in these libraries, and that form would not work for the versions with more parameters
