class_docstr: This is a replacement for Python's list that provides a vars() method to return all the variables that it
  contains, including the ones contained in the modules and sub-modules in it.
class_docstr_tok: ["This","is","a","replacement","for","Python","'s","list","that","provides","a","vars","(",")","method","to","return","all","the","variables","that","it","contains",",","including","the","ones","contained","in","the","modules","and","sub-modules","in","it","."]
code: def __repr__(self):
      def f(x):
          if not isinstance(x, Module) and callable(x):
              return repr_function(x)
          x = repr(x).split("\n")
          x = [x[0]] + ["  " + y for y in x[1:]]
          return "\n".join(x)
  
      entries = "\n".join(f"  [{i}] {f(x)}" for i, x in enumerate(self))
      return f"{class_name(self)}(\n{entries}\n)"
  
imports: from collections import namedtuple
  from typing import Optional, List, Union, Callable, Tuple
  import jax
  import jax.numpy
  import numpy
  from objax.typing import JaxArray
  from objax.util import class_name, override_args_kwargs, positional_args_names, repr_function
  from objax.variable import BaseVar, RandomState, VarCollection
label_desc: Use image node_id 3 for calling the ModuleList obj's underlying member method code with example usage: obj.__repr__() and returns: class_name, str, entries, str, str, repr_function