code: def _copy_docstring(original_fn, new_fn, disable_spec_check=False):
      """Wraps new_fn with the doc of original_fn."""
      original_spec = tf_inspect.getfullargspec(original_fn)
      new_spec = tf_inspect.getfullargspec(new_fn)
      if not disable_spec_check and original_spec != new_spec:
          raise ValueError(
              "Arg specs do not match: original={}, new={}, fn={}".format(
                  original_spec, new_spec, original_fn
              )
          )
  
      @decorator.decorator
      def wrap(wrapped_fn, *args, **kwargs):
          del wrapped_fn
          return new_fn(*args, **kwargs)
  
      return wrap(original_fn)
  
imports: import decorator
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal.backend import numpy
  from tensorflow.python.framework import tensor_util
  from tensorflow.python.ops import control_flow_case
  from tensorflow.python.util import tf_inspect
label_desc: Use image node_id 3 for calling a global function with example usage: _copy_docstring(original_fn, new_fn, disable_spec_check) and returns: wrap, new_fn