def enable_add_function_variable_scopes(enable: bool = True):
  """Add tf.variable_scope with the function name in each `tc.contract`?

  This is disabled by default because it will *CHANGE THE NAMES OF YOUR
  VARIABLES* when used in modeling code (i.e. things in `model_fn` that allocate
  `tf.Variable`s. However, this can be extremely useful for getting helpful
  error messages with meaningful node names when working with non-modeling code
  such as pre-processing code in `input_fn`s.

  Args:
    enable: Whether to enable injection of function variable scopes.
  """
  global _add_function_variable_scopes
  _add_function_variable_scopes = enable
Add tf.variable_scope with the function name in each `tc.contract`?

  This is disabled by default because it will *CHANGE THE NAMES OF YOUR
  VARIABLES* when used in modeling code (i.e. things in `model_fn` that allocate
  `tf.Variable`s. However, this can be extremely useful for getting helpful
  error messages with meaningful node names when working with non-modeling code
  such as pre-processing code in `input_fn`s.

  Args:
    enable: Whether to enable injection of function variable scopes.
  
language/canine/tensor_contracts.py