This is currently not supported. If you want to bind a closure to a new object, it must not be a fake closure, or the new object must be compatible with the old one (source).
So, what is a fake closure: A fake closure is a closure created from
This means, you have two options to fix your problem:
Barmust be compatible with the type of
Foo- so just make
Foo, if possible.
Use unbound functions, like annonymous, static or functions outside of classes.