anchor.diff:                                          else
                                               let oi = indices.Revoke(o, i)
                                               let i = indices.Invoke(v, i)
  -                                            PDeltaList.ofList [oi, Remove; i, Set v]
  +                                            match oi with
  +                                                | Some oi ->
  +                                                    PDeltaList.ofList [oi, Remove; i, Set v]
  +                                                | None ->
  +                                                    PDeltaList.ofList [i, Set v]
                                       | None ->
                                           let i = indices.Invoke(v, i)
                                           PDeltaList.single i (Set v)
  
positive.code:                     match op with
                          | Remove -> 
                              match mapping.Revoke(i) with
                                  | true -> Some Remove
                                  | _ -> None
                          | Set v -> 
                              let o, n = mapping.InvokeAndGetOld(i, v)
  
negative.code:                             | Remove ->
                                  let v = oldContent |> MapExt.find i
                                  let i = indices.Revoke(v, i)
                                  match i with
                                      | Some i -> PDeltaList.single i Remove
                                      | None -> PDeltaList.empty
                      )
  
          type BindReader<'a, 'b>(scope : Ag.Scope, input : IMod<'a>, f : 'a -> alist<'b>) =
  