class_docstr: This class joins a variable with its computed value.
  
  It is used in linkers, especially for the inputs and outputs of a Function.
  
  Parameters
  ----------
  r : a Variable or a Type
  storage
      A list of length 1, whose element is the value for `r`.
  readonly : bool
      True indicates that this should not be setable by Function[r] = val.
  strict : bool
      If True, we don't allow type casting.
  allow_downcast
      If True (and `strict` is False), allow upcasting of type, but not
      downcasting. If False, prevent it. If None (default), allows only
      downcasting of float to floatX scalar.
  name : str
      A string (for pretty-printing?)
code: def __deepcopy__(self, memo):
      data_was_in_memo = id(self.storage[0]) in memo
      r = type(self)(
          deepcopy(self.type, memo=memo),
          deepcopy(self.storage, memo=memo),
          deepcopy(self.readonly, memo=memo),
          deepcopy(self.strict, memo=memo),
          deepcopy(self.allow_downcast, memo=memo),
          deepcopy(self.name, memo=memo),
      )
      # Work around NumPy deepcopy of ndarray with 0 dimension that
      # don't return an ndarray.
      if r.storage[0] is not None and not self.type.is_valid_value(
          r.storage[0]
      ):
          assert not data_was_in_memo
          assert self.type.is_valid_value(self.storage[0])
          # This should also work for read only container.
          r.storage[0] = self.type.filter(
              r.storage[0], strict=False, allow_downcast=False
          )
          memo[id(self.storage[0])] = r.storage[0]
      return r
  
imports: from __future__ import absolute_import, print_function, division
  from copy import copy, deepcopy
  from sys import getsizeof
  import sys
  import traceback
  import numpy
  import theano
  from theano.compat import izip
  from six import reraise
  from six.moves import StringIO
  from theano.gof import utils
  from theano.gof import graph
  from theano.gof.type import Type
  from .utils import undef
label_desc: Use image node_id 6 for calling the Container obj's underlying member method code with example usage: obj.__deepcopy__(memo) and returns: r