can = t.toCanonical();
assertEquals("java.util.ArrayList<java.lang.Object>", can);
assertEquals(t, TypeFactory.fromCanonical(can));
t = tf.constructType(java.util.TreeMap.class);
can = t.toCanonical();
assertEquals("java.util.TreeMap<java.lang.Object,java.lang.Object>", can);
assertEquals(t, TypeFactory.fromCanonical(can));
// And then EnumMap (actual use case for us)
t = tf.constructMapType(EnumMap.class, EnumForCanonical.class, String.class);