anchor.diff:                          (state, [], world)
                           str
                   (List (List.rev states), world)
  +            | [scanner; state; Codata codata] ->
  +                match evalScanCodata evalApply fnOriginOpt fnName scanner state codata world with
  +                | Right (_, states, world) -> (List (List.rev states), world)
  +                | Left error -> error
               | [scanner; state; List list] ->
                   let (_, states, world) =
                       Seq.fold (fun (state, states, world) elem ->
  
positive.code:                         (state, [], world)
                          str
                  (List (List.rev states), world)
              | [scanner; state; List list] ->
                  let (_, states, world) =
                      Seq.foldi (fun i (state, states, world) elem ->
  
negative.code:         let evalFold evalApply fnOriginOpt fnName evaledArgs world =
              match evaledArgs with
              | [folder; state; String str] -> Seq.fold (fun (state, world) elem -> evalApply [folder; state; String (string elem)] fnOriginOpt world) (state, world) str
              | [folder; state; Codata codata] ->
                  match evalFoldCodata evalApply fnOriginOpt fnName folder state codata world with
                  | Right (state, world) -> (state, world)
                  | Left error -> error
              | [folder; state; List list] -> List.fold (fun (state, world) elem -> evalApply [folder; state; elem] fnOriginOpt world) (state, world) list
              | [folder; state; Ring set] -> Set.fold (fun (state, world) elem -> evalApply [folder; state; elem] fnOriginOpt world) (state, world) set
              | [folder; state; Table map] ->
  