def copy_doc(original: Callable) -> Callable[([T], T)]:

    def decorator(overriden: T) -> T:
        overriden.__doc__ = original.__doc__
        overriden.__signature__ = _signature(original)
        return overriden
    return decorator
def copy_doc(original: Callable) -> Callable[([T], T)]:

    def decorator(overriden: T) -> T:
        overriden.__doc__ = original.__doc__
        overriden.__signature__ = _signature(original)
        return overriden
    return decorator