code: def assign(self, other):
          
          if other not in self.space:
              raise TypeError('`other` {!r} is not an element of the space '
                              '{} of this function'
                              ''.format(other, self.space))
          self._call_in_place = other._call_in_place
          self._call_out_of_place = other._call_out_of_place
          self._call_has_out = other._call_has_out
          self._call_out_optional = other._call_out_optional
docs: Assign ``other`` to ``self``.
  
          This is implemented without `FunctionSpace.lincomb` to ensure that
          ``self == other`` evaluates to True after ``self.assign(other)``.