the java rewrite engine now uses sort inference (offered by Radu); imp and imp++ are updated to take advantage of it
refactored code to support mutually recursive data structures (a map which maps a key to a list whose head is a key in another map, etc)
added support for lists, maps and sets with a concrete number of elements (without a frame) in the java rewrite engine