anchor.diff:  
   
   type Op =
  +    abstract member Target : obj
       abstract member Run : unit -> Op
  -    abstract member ConflictsWith : Op -> bool
  +    abstract member TryMerge : Op -> Option<Op>
   
   
   type Change =
  
positive.code:         member x.merge source =
              Git.merge source x
  
  
  module GitTest =
      
  
negative.code: and History =
      | Empty
      | Commit of History * Commit 
  
  type MergeResult =
      | Success
      | Conflicts of list<Op * Op>
  
  
  type WorkingCopy(remote : string) =
  