## Mutable variant types

The argument of a value constructor can be declared ``mutable'' when the variant type is defined:

```        type foo = A of mutable int
| B of mutable int * int
| ...
```
This allows in-place modification of the argument part of a constructed value. Modification is performed by a new kind of expressions, written ident `<-` expr, where ident is an identifier bound by pattern-matching to the argument of a mutable constructor, and expr denotes the value that must be stored in place of that argument. Continuing the example above:
```        let x = A 1 in
begin match x with A y -> y <- 2 | _ -> () end;
x
```
returns the value A 2. The notation ident `<-` expr works also if ident is an identifier bound by pattern-matching to the value of a mutable field in a record. For instance,
```        type bar = {mutable lbl : int};;
let x = {lbl = 1} in
begin match x with {lbl = y} -> y <- 2 end;
x
```
returns the value {lbl = 2}.
{"ft_lang_label":"__label__en","ft_lang_prob":0.8081195,"math_prob":0.97942805,"size":878,"snap":"2023-40-2023-50","text_gpt3_token_len":217,"char_repetition_ratio":0.13043478,"word_repetition_ratio":0.07058824,"special_character_ratio":0.27448747,"punctuation_ratio":0.10795455,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.9635927,"pos_list":[0,1,2,3,4,5,6],"im_url_duplicate_count":[null,null,null,null,null,null,null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2023-09-27T10:53:11Z\",\"WARC-Record-ID\":\"<urn:uuid:cc611405-9c19-430e-9ad0-47818feb99d7>\",\"Content-Length\":\"1896\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:b9960a3c-88a4-48e7-a895-b60da8c61a1f>\",\"WARC-Concurrent-To\":\"<urn:uuid:1a799405-50c5-47fe-96f8-06d5f7c32a3d>\",\"WARC-IP-Address\":\"128.93.101.33\",\"WARC-Target-URI\":\"https://caml.inria.fr/pub/docs/manual-caml-light/node4.6.html\",\"WARC-Payload-Digest\":\"sha1:EFXWOC54XLT3A6HUFAMON5EN3X54WMNR\",\"WARC-Block-Digest\":\"sha1:LSXXAMHD2HIBBIPUDGSOPRR6WNWU2CGI\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2023/CC-MAIN-2023-40/CC-MAIN-2023-40_segments_1695233510297.25_warc_CC-MAIN-20230927103312-20230927133312-00358.warc.gz\"}"}