anchor.diff:  (* ------------------------------------------------------------------------- *)
   
   /// Merges together two sorted lists with respect to a given ordering.
  +// OPTIMIZE : Make this tail-recursive (just use an accumulator and call List.rev at the end).
   let rec merge ord l1 l2 = 
       match l1 with
       | [] -> l2
  
positive.code:         with
          | Failure _ -> rest
  
  /// Returns the first element of a list which satises a predicate.
  // OPTIMIZE : Make this an alias for List.find.
  let rec find p l = 
      match l with
      | [] -> failwith "find"
  
negative.code:         else find p t
  
  /// Returns the result of the first successful application of a function to the elements of a list.
  // OPTIMIZE : Make this an alias for List.tryPick.
  let rec tryfind f l =
      List.tryPick f l
  
  