anchor.diff:                  if lp <> 100 then
                       bprintf sb " (LP=%d)" lp
                   for (peer, acts) in es do
  -                    bprintf sb "\n    Export: [Peer<-%s" peer
  +                    bprintf sb "\n    Export: [Peer<-%s" (string peer)
                       if acts <> [] then
                           let str = Common.List.joinBy "," (List.map string acts)
                           sb.Append(", " + str) |> ignore
  
positive.code:                 sprintf "predicate %s. Possibly enable prepending: -prepending:on" (string pred)
              error msg
  
  let private checkAggregateLocs ins _ prefix links = 
      if Set.contains "out" ins then
          let msg = 
              sprintf "Cannot aggregate on external location: " + 
  
negative.code:             sprintf "without an edge in the internal topology"
          error msg
  
  let splitByLocation f topo (vs: _ list) = 
      let mutable acc = Map.empty
      for (k, ins, outs) in vs do 
          let links = Topology.findLinks topo (ins,outs)
  