class_docstr: Helper class to promote private subclass docstring to public counterpart.
  
  Example:
  
  ```python
  class TransformedDistribution(Distribution):
    @AppendDocstring(
      additional_note='A special note!',
      kwargs_dict={'foo': 'An extra arg.'})
    def _prob(self, y, foo=None):
      pass
  ```
  
  In this case, the `AppendDocstring` decorator appends the `additional_note` to
  the docstring of `prob` (not `_prob`) and adds a new `kwargs`
  section with each dictionary item as a bullet-point.
  
  For a more detailed example, see `TransformedDistribution`.
class_docstr_tok: ["Helper","class","to","promote","private","subclass","docstring","to","public","counterpart",".","Example",":","``","`","python","class","TransformedDistribution","(","Distribution",")",":","@","AppendDocstring","(","additional_note=","'","A","special","note","!","'",",","kwargs_dict=","{","'foo","'",":","'An","extra","arg",".","'","}",")","def","_prob","(","self",",","y",",","foo=None",")",":","pass","``","`","In","this","case",",","the","`","AppendDocstring","`","decorator","appends","the","`","additional_note","`","to","the","docstring","of","`","prob","`","(","not","`","_prob","`",")","and","adds","a","new","`","kwargs","`","section","with","each","dictionary","item","as","a","bullet-point",".","For","a","more","detailed","example",",","see","`","TransformedDistribution","`","."]
code: def __call__(self, fn):
      @functools.wraps(fn)
      def _fn(*args, **kwargs):
          return fn(*args, **kwargs)
  
      if _fn.__doc__ is None:
          _fn.__doc__ = self._additional_note
      else:
          _fn.__doc__ += "\n%s" % self._additional_note
      return _fn
  
imports: import functools
  import hashlib
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import reparameterization
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow.python.util import tf_inspect
label_desc: Use image node_id 2 for calling the AppendDocstring obj's underlying member method code with example usage: obj.__call__(fn) and returns: _fn, fn