anchor.diff:  
       /// <summary>TBD</summary>
       member m.save(fileName) = saveBinary m fileName
  -
  -    // override m.ToString() = sprintf "%s, nparameters:%A" (m.getString()) m.nparameters
   
   
   [<AbstractClass>]
  
positive.code:         with get () = m.parameters.flatten()
          and set parameters = m.parameters.unflatten(parameters)
  
      member m.children
          with get () = 
              m.subModels.Values |> Seq.toList
  
      member m.models
          with get () =
  
negative.code:             for name in names do if name.Contains("__") then failwithf "String '__' not allowed in name '%s'" name
          let nextName (name:string) =
              let name = if name.Contains("__") then name.Split("__").[0] else name
              let i = namePrefixes.GetValueOrDefault name
              namePrefixes.[name] <- i+1
              sprintf "%s__%A" name (i+1)
          for i in 0..items.Length-1 do
              let item = items.[i]
              match item with
              | :? Parameter as param ->
                  let n = if names.Length > 0 then names.[i] else sprintf "param-%s" (Random.UUID())
                  parameterDict.add(n, param)
              | :? Model as model ->
                  let n = if names.Length > 0 then names.[i] else sprintf "model-%s" (Random.UUID())
                  modelsDict.Add(n, model)
                  parameterDict.add(model.parameters.map(fun (nn, pp:Parameter) -> (nextName nn, pp)))
              | _ -> failwithf "Unsupported type. Expecting a Parameter or Model"
  
      /// <summary>
  