コンパイラは、レコードが拡張されたときにメモリ内に新しい場所を作成しますか (ディープ コピー?)、またはコンパイラはレコードを変更可能にして値を変更しますか?
例えば:
type MyRecord = { A : string
                ; B : string
                }
let record = { A = "A"; B = "B" }
let record = { record with A = "new A" } //copy or overwrite? 
上書きrecordしているので、コンパイラはコピーまたは上書きしますか? いずれにしてもパフォーマンスの問題はありますか?