I would like to have a function behaving like an object, so I could overload an
operator on that function. I need the following to be true:
assert 1.fun ^ 2 == fun ^ 2
I know I could use fun() with a default argument but that's that syntax isn't acceptable in this context. Can I make an object callable by any means?
