anchor.diff:        ETuple (List.map (translate_expr env) es)
   
     | MLE_CTor ((_, cons), es) ->
  -      ECons (assert_lid e.mlty, cons, List.map (translate_expr env) es)
  +      ECons (assert_lid env e.mlty, cons, List.map (translate_expr env) es)
   
     | MLE_Fun _ ->
         failwith "todo: translate_expr [MLE_Fun]"
  
positive.code:   | MLE_Coerce _ ->
        failwith "todo: translate_expr [MLE_Coerce]"
  
  and assert_lid t =
    match t with
    | MLTY_Named ([], lid) -> lid
    | _ -> failwith "invalid argument: assert_lid"
  
  and translate_branches env branches =
  
negative.code:   | EAny
    | EAbort
    | EReturn of expr
    | EFlat of typ * list<(ident * expr)>
    | EField of typ * expr * ident
    | EWhile of expr * expr
    | EBufCreateL of list<expr>
    | ETuple of list<expr>
    | ECons of typ * ident * list<expr>
    | EBufFill of expr * expr * expr
  
  and op =
  