anchor.diff:              else h :: t'
           else t'
   
  +/// Separates a list into two lists using a predicate.
   // OPTIMIZE : Make this an alias for List.partition.
   let rec partition p l = 
       match l with
  
positive.code: (* All pairs arising from applying a function over two lists.                *)
  (* ------------------------------------------------------------------------- *)
  
  let rec allpairs f l1 l2 = 
      match l1 with
      | h1 :: t1 -> itlist (fun x a -> f h1 x :: a) l2 (allpairs f t1 l2)
  
negative.code: (* Version of map that avoids rebuilding unchanged subterms.                 *)
  (* ------------------------------------------------------------------------- *)
  
  /// Maps a function of type 'a -> 'a over a list, optimizing the unchanged case.
  let rec qmap f l = 
      match l with
      | h :: t -> 
  