def _ensure_wrappability(fn):
<EOL>if isinstance(fn, (type(object.__init__), type(object.__call__))):<EOL><INDENT>wrappable_fn = lambda *args, **kwargs: fn(*args, **kwargs)<EOL>wrappable_fn.__name__ = fn.__name__<EOL>wrappable_fn.__doc__ = fn.__doc__<EOL>wrappable_fn.__module__ = '<STR_LIT>'  <EOL>wrappable_fn.__wrapped__ = fn<EOL>return wrappable_fn<EOL><DEDENT>return fn<EOL>
Make sure `fn` can be wrapped cleanly by functools.wraps.