anchor.diff:      Syntax.string_of_mlpath p = "FStar.HyperStack.ST.mmstackref" ||
       Syntax.string_of_mlpath p = "FStar.HyperStack.ST.mmref" ||
       Syntax.string_of_mlpath p = "Steel.Reference.ref" ||
  -    Syntax.string_of_mlpath p = "Steel.Array.array"
  +    Syntax.string_of_mlpath p = "Steel.Array.array" ||
  +    Syntax.string_of_mlpath p = "Steel.ST.Reference.ref" ||
  +    Syntax.string_of_mlpath p = "Steel.ST.Array.array"
       ->
         TBuf (translate_type env arg)
   
  
positive.code:     || string_of_mlpath p = "LowStar.UninitializedBuffer.uupd"
      || string_of_mlpath p = "Steel.Array.upd" ->
        EBufWrite (translate_expr env e1, translate_expr env e2, translate_expr env e3)
    | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e1; e2 ])
      when string_of_mlpath p = "FStar.HyperStack.ST.op_Colon_Equals"
        || string_of_mlpath p = "Steel.Reference.write" ->
        EBufWrite (translate_expr env e1, EConstant (UInt32, "0"), translate_expr env e2)
    | MLE_App ({ expr = MLE_Name p }, [ _ ]) when (string_of_mlpath p = "FStar.HyperStack.ST.push_frame") ->
        EPushFrame
    | MLE_App ({ expr = MLE_Name p }, [ _ ]) when (string_of_mlpath p = "FStar.HyperStack.ST.pop_frame") ->
  
negative.code: 
    (* Only manually-managed references and buffers can be freed. *)
    | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e2 ]) when
        (string_of_mlpath p = "FStar.HyperStack.ST.rfree" ||
         string_of_mlpath p = "Steel.Reference.free") ->
        EBufFree (translate_expr env e2)
  
    | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ _v; e2 ]) when
         string_of_mlpath p = "Steel.ST.Reference.free" ->
        EBufFree (translate_expr env e2)
  
    | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e2 ])
      when (string_of_mlpath p = "FStar.Buffer.rfree" ||
            string_of_mlpath p = "LowStar.Monotonic.Buffer.free" ||
            string_of_mlpath p = "Steel.Array.free" ||
            string_of_mlpath p = "Steel.ST.Array.free") ->
        EBufFree (translate_expr env e2)
  
    (* Generic buffer operations. *)
  