class_docstr: Helper class for to_sonnet_module.
  
  This wraps arbitrary Tensor-valued callables as a Sonnet module.
  A use case for this is in agent code that could take either a trainable
  sonnet module or a hard-coded function as its policy. By wrapping a hard-coded
  policy with this class, the agent can then treat it as if it were a Sonnet
  module. This removes the need for "if is_hard_coded:..." branches, which you'd
  otherwise need if e.g. calling get_variables() on the policy.
code: def __call__(self, *args, **kwargs):
      return self._transformation(*args, **kwargs)
  
imports: import functools
  from typing import List, Optional, Union
  from acme import types
  from acme.utils import tree_utils
  import sonnet
  import tensorflow
  import tree
label_desc: Use image node_id 2 for calling the TransformationWrapper obj's underlying member method code with example usage: obj.__call__() and returns: self