lower
lowers expressions to their "desugared" form.
e.g
a * b + c => (a.mul(b)).add(c)
note that it is extremely pervasive, so
math!
expands to
it should work for most expressions.
why
well, you see, i made a crate for arrays.
then, i added add/mul/…, and got annoyed when i had to call them manually.
now, you can do amazing things such as lower::math! { 2 * ([5, 2] + 5) }.