Jak zadeklarować wartości wpisu słownikowego jako zmienne?

Google daje wiele przykładów dodawania i usuwania wpisów w słowniku F # (lub innej kolekcji). Ale nie widzę przykładów odpowiadających

myDict["Key"] = MyValue;

próbowałem

myDict.["Key"] <- MyValue

Próbowałem również zadeklarować słownik jako

Dictionary<string, mutable string>

jak również kilka wariantów tego. Jednak nie trafiłem jeszcze na właściwą kombinację ... jeśli tojest faktycznie możliwe w F #.

Edytuj: Kod przestępstwa to:

type Config(?fileName : string) =
    let fileName = defaultArg fileName @"C:\path\myConfigs.ini"

    static let settings =
        dict[ "Setting1", "1";
              "Setting2", "2";
              "Debug",    "0";
              "State",    "Disarray";]

    let settingRegex = new Regex(@"\s*(?<key>([^;#=]*[^;#= ]))\s*=\s*(?<value>([^;#]*[^;# ]))")

    do  File.ReadAllLines(fileName)
        |> Seq.map(fun line -> settingRegex.Match(line))
        |> Seq.filter(fun mtch -> mtch.Success)
        |> Seq.iter(fun mtch -> settings.[mtch.Groups.Item("key").Value] <- mtch.Groups.Item("value").Value)

Błąd, który dostaję to:

System.NotSupportedException: This value may not be mutated
   at [email protected]_Item(K key, V value)
   at <StartupCode$FSI_0036>[email protected](Match mtch)
   at Microsoft.FSharp.Collections.SeqModule.iter[T](FastFunc`2 action, IEnumerable`1 sequence)
   at FSI_0036.Utilities.Config..ctor(Option`1 fileName)
   at <StartupCode$FSI_0041>.$FSI_0041.main@()
stopped due to error

questionAnswers(2)

yourAnswerToTheQuestion