anchor.diff:    | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e1; e2 ])
       when string_of_mlpath p = "FStar.Buffer.index" || string_of_mlpath p = "FStar.Buffer.op_Array_Access"
         || string_of_mlpath p = "LowStar.Monotonic.Buffer.index"
  -      || string_of_mlpath p = "LowStar.UninitializedBuffer.uindex" ->
  +      || string_of_mlpath p = "LowStar.UninitializedBuffer.uindex"
  +      || string_of_mlpath p = "LowStar.ConstBuffer.index" ->
         EBufRead (translate_expr env e1, translate_expr env e2)
   
     | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e ])
  
positive.code:   | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e1; e2; _e3 ]) when (string_of_mlpath p = "FStar.Buffer.sub") ->
        EBufSub (translate_expr env e1, translate_expr env e2)
  
    | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e1; e2; _e3 ]) when string_of_mlpath p = "LowStar.Monotonic.Buffer.msub" ->
        EBufSub (translate_expr env e1, translate_expr env e2)
  
    | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e1; e2 ]) when (string_of_mlpath p = "FStar.Buffer.join") ->
  
negative.code:       TBuf (translate_type env arg)
    | MLTY_Named ([arg; _; _], p) when
      Syntax.string_of_mlpath p = "LowStar.Monotonic.Buffer.mbuffer" -> TBuf (translate_type env arg)
    
    (*
     * AR: temporarily extracting const_buffer t to t*, until proper support is added downstream
     *)
    | MLTY_Named ([arg], p) when
      Syntax.string_of_mlpath p = "LowStar.ConstBuffer.const_buffer" -> TBuf (translate_type env arg)
  
    | MLTY_Named ([arg], p) when
      Syntax.string_of_mlpath p = "FStar.Buffer.buffer" ||
      Syntax.string_of_mlpath p = "LowStar.Buffer.buffer" ||
  