Wip sip23 √

@richdougherty How do you avoid classloader and memory leaks? (And you'd have to switch to something like a ConcurrentIdentityHashMap and use value type encoded in keys to retain typesafety and avoid tampering.