'Mark the method as removing an entity in the collection.
Adds "remove from collection" handling to the method.  The return value
of the method, if any, is considered the value to remove.  The method
arguments are not inspected::
@collection.removes_return()
def pop(self): ...
For methods where the value to remove is known at call-time, use
collection.remove.'

@staticmethod
def removes_return():

    def decorator(fn):
        fn._sa_instrument_after = 'fire_remove_event'
        return fn
    return decorator
