base.Lens[K,V]

imm .get(k: K): mut base.Opt[imm V] -> …, // from base.Map/2
read .keyEq(k1: K, k2: K): imm base.Bool, // from base.Map/2
read .isEmpty: imm base.Bool -> …, // from base.Map/2
imm .put(k: K, v: imm V): mut base.Lens[K,V] -> …,
imm .map[R$0](f: imm base.MapMapImm[K,imm V,imm R$0]): imm base.Lens[K,imm R$0] -> …,
imm .get(k: K): mut base.Opt[imm V] -> …, // from base.Map/2
read .keyEq(k1: K, k2: K): imm base.Bool, // from base.Map/2
read .isEmpty: imm base.Bool -> …, // from base.Map/2
imm .put(k: K, v: imm V): mut base.Lens[K,V] -> …,
imm .map[R$0](f: imm base.MapMapImm[K,imm V,imm R$0]): imm base.Lens[K,imm R$0] -> …,