anchor.diff:  
   module PopOpen =
   
  -    type Result<'nativeint> =
  -        | Success
  -        | Failure
  +    type Result<'TEntity> =
  +        | Success of 'TEntity
  +        | Failure of string
   
       
       type Input = { File: string; Prc: Process }
  
positive.code: 
      let internal FindProcessHandle (input : Input) =
          try
              input.Prc.MainWindowHandle
          with
              | :? System.InvalidOperationException -> nativeint 0
              | :? System.NullReferenceException -> nativeint 0
  
  
      let internal FindLockHandle (input: Input) =
  
negative.code:         log (String.Format("Lock Handle: {0}, Proc Handle: {1}", lockHandle, procHandle))
  
          match lockHandle with
          | Success h -> h
          | Failure s -> match procHandle with
                         | Success h -> h
                         | Failure s -> 0n
  
  
      let BringToFront handle log =
  