@Override
	public boolean equals(final Object obj) {
		return obj == this ||
			obj instanceof TreeRewriteRule<?> other &&
			_left.equals(other._left) &&
			_right.equals(other._right);
	}
Maps {@code this} rewrite rule from type {@code V} to type {@code B}.

@param mapper the type mapper
@param <B> the target type
@return a new rewrite rule for the mapped type
@throws NullPointerException if the {@code mapper} is {@code null}
jenetics.ext/src/main/java/io/jenetics/ext/rewriting/TreeRewriteRule.java