anchor.diff:          with
           | Failure _ -> 
               let th = conv tm
  -            net := Choice.get <| enter [] (tm, ALPHA_HACK th) (!net)
  +            match enter [] (tm, ALPHA_HACK th) (!net) with
  +            | Success n -> net := n
  +            | Error _ -> 
  +                // NOTE: currently do nothing in case of error
  +                ()
               th
  
positive.code: (* ------------------------------------------------------------------------- *)
  
  let private ALPHA_HACK th = 
      let tm' = Choice.get <| lhand(concl <| Choice.get th)
      fun tm -> 
          if tm' = tm then th
          else TRANS (ALPHA tm tm') th
  
  /// A cacher for conversions.
  let CACHE_CONV (conv : conv) : conv = 
  
negative.code: 
  /// Beta-reduces all the beta-redexes in the conclusion of a theorem.
  let BETA_RULE = CONV_RULE(REDEPTH_CONV BETA_CONV)
  
  /// Reverses the first equation(s) encountered in a top-down search.
  let GSYM = CONV_RULE(ONCE_DEPTH_CONV SYM_CONV)
  
  /// Makes simple term substitutions in a theorem using a given list of theorems.
  let SUBS ths = CONV_RULE(SUBS_CONV ths)
  
  