anchor.diff:  ///     <c>None</c> otherwise.)
   /// </returns>
   let graph nodes edges =
  -    let nodesA = Seq.toArray nodes
       let edgesL = Seq.toList edges
  -    let l = Array.length nodesA
   
       // Are any of the node indices out of bounds?
       match (List.filter
                  (fun {Source = s; Target = t} ->
  -                    s < 0 || s >= l || t < 0 || t >= l)
  +                    not (Map.containsKey s nodes &&
  +                         Map.containsKey t nodes))     
                  edgesL) with
  -    | [] -> { Nodes = nodesA; Edges = edgesL } |> ok
  +    | [] -> { Nodes = nodes; Edges = edgesL } |> ok
       | xs -> xs |> Seq.map EdgeOutOfBounds |> fail
   
   /// <summary>
  
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:         /// <summary>
          ///     Set of nodes in the control-flow graph.
          /// </summary>
          Nodes: Map<int, View>
  
          /// <summary>
          ///     Set of edges in the control-flow graph.
  