code: def include(gset, elem, value=True):
      
      add = getattr(gset, 'add', None) # sets
      if add is None: add = getattr(gset, 'append', None)  # lists
      if add is not None: add(elem)
      else: # dicts
          if not hasattr(gset, '__setitem__'):
              raise Error("gset is not a supported container.")
          gset[elem] = value
      return elem
docs: Do whatever it takes to make ``elem in gset`` true.
  
          >>> L, S, D = [ ], set(), { }
          >>> include(L, "Lucy"); include(S, "Sky"); include(D, "Diamonds");
          >>> print L, S, D
          ['Lucy'] set(['Sky']) {'Diamonds': True}
  
      Works for sets (using ``add``), lists (using ``append``) and dicts (using
      ``__setitem__``).
  
      ``value``
          if ``gset`` is a dict, does ``gset[elem] = value``.
  
      Returns ``elem``, or raises an Error if none of these operations are supported.