Re-implemented caches as simple arrays: GC reduced to 3.9kb (seems unavoiable, initial Leap fetch), down to 1.2ms