Copying and Assigning Functors
Because functors use the handle-body idiom, copying functors follows the general rules discussed in
Handle-Body Mechanics. When a handle class instance is copy-constructed from another handle class instance, the new handle is bound to the same body instance, if any, pointed to by the other handle.
Similarly, assigning one handle to another causes the left-hand instance to detach from its current representation, if any, and then binds it to the same body instance, if any, pointed-to by the right-hand instance.