 					term[0] = new Mul(term[0])
 
 			# The terms should be ordered.
-			term[0] = term[0].sorted()
+			term[0].sort?()
 
 			return term[0]
 


			return new Pow(left, right)

		sorted: ->
			# Sort and return this node.
			# Numbers first, then letters, in numerical and alphabetical order.
			# Then power nodes, in order of the base.
			# Then addition nodes, in order of their first child.

	class Pow extends nodes.BinaryNode
		# Represent powers.

				(if @children.left.copy? then @children.left.copy() else @children.left),
				(if @children.right.copy? then @children.right.copy() else @children.right)
			)

		sort: ->
			@children.left.sort?()
			@children.right.sort?()

		compareSameType: (b) ->
			# Compare this object with another of the same type.
