@aartaka I want to know what you have to say on naming - for me a function should be named with a noun whenever possible -> then an adjective -> then a verb - but always understood as a noun, as if computation is already complete
"sum" not "add"
"product" not "multiply"
I would still write "permute" but in my mind I think of it as a noun