anchor.diff:          /// <summary>
           ///     Set of nodes in the control-flow graph.
           /// </summary>
  -        Nodes: View[]
  +        Nodes: Map<int, View>
   
           /// <summary>
           ///     Set of edges in the control-flow graph.
  
positive.code: ///     Attempts to create a new <c>Graph</c>.
  /// </summary>
  /// <param name="nodes">
  ///     The sequence of nodes in the graph.
  /// </param>
  /// <param name="edges">
  ///     The sequence of edges in the graph.
  
negative.code: ///     This is wrapped in a Chessie result over <c>Error</c>.
  /// </returns>
  let fold f init { Nodes = nodes; Edges = edges } =
      edges
      |> Seq.map
             (fun { Source = s; Target = t; Cmd = c } ->
                  match (Map.tryFind s nodes, Map.tryFind t nodes) with
                  | Some sn, Some tn -> ok { Source = sn; Target = tn; Cmd = c }
                  | _ -> { Source = s; Target = t; Cmd = c } |> EdgeOutOfBounds |> fail)
      |> collect
      |> lift (Seq.fold f init)
  