code: def reduce_after(method):
  	'''reduce() the result of this method call (unless you already reduced it).'''
  	def new_method(self, *args, **kwargs):
  		result = method(self, *args, **kwargs)
  		if result == self:
  			return result
  		return result.reduce()
  	return new_methof reduce_after(method):
  	'''reduce() the result of this method call (unless you already reduced it).'''
  	def new_method(self, *args, **kwargs):
  		result = method(self, *args, **kwargs)
  		if result == self:
  			return result
  		return result.reduce()
  	return new_method
docs: reduce() the result of this method call (unless you already reduced it).