feat: Operator overload from Function
Closes #362
I have entirely rewritten the PR. I do not no more mix Functions and Types. Instead, when the operator looks for a suitable overload, it first checks the Functions and then Types. So now it is possible to override the method defined in the Env with the function with the same signature. There is a test for this behavior.
Unfortunately, I can not figure out how to make work Function with the same name as Type but a different signature. I still don't know if it is a valid scenario, so I pushed my solution, missing this piece.
Ok, looks good. Please rebase.
In recent versions, this issue does not seem to have been solved, and it is very important for rewriting operations with functions
Will take a look.
I have rebased on the latest master.