base.LinkedLens[K,V]

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