2 This problem is taken from _The Craft of Functional Programming_ by Simon Thompson, Addison-Wesley 1999 <http://www.cs.kent.ac.uk/people/staff/sjt/>:
4 > Given an arbitrary tree, transform it to a
5 > tree of integers in which the original elements are replaced by
6 > natural numbers, starting from 0. The same element has to be
7 > replaced by the same number at every occurrence, and when we meet
8 > an as-yet-unvisited element we have to find a "new" number to match
12 Here is [a hint](/hints/assignment_10_hint).