code: def dock(self, other):
  		'''
  			"Dock" another mult from this one (i.e. remove part of the tail) and
  			return the result. The reverse of concatenation. This is a lot trickier.
  			e.g. a{4,5} - a{3} = a{1,2}
  		'''
  		if other.multiplicand != self.multiplicand:
  			raise Exception("Can't subtract " + repr(other) + " from " + repr(self))
  		return mult(self.multiplicand, self.multiplier - other.multiplierf dock(self, other):
  		'''
  			"Dock" another mult from this one (i.e. remove part of the tail) and
  			return the result. The reverse of concatenation. This is a lot trickier.
  			e.g. a{4,5} - a{3} = a{1,2}
  		'''
  		if other.multiplicand != self.multiplicand:
  			raise Exception("Can't subtract " + repr(other) + " from " + repr(self))
  		return mult(self.multiplicand, self.multiplier - other.multiplier)
docs: "Dock" another mult from this one (i.e. remove part of the tail) and
  			return the result. The reverse of concatenation. This is a lot trickier.
  			e.g. a{4,5} - a{3} = a{1,2}