Проблема в вашем коде действительно связана с синтаксисом и индентацией. В F# необходимо правильно указывать индентацию, особенно когда вы определяете записи с вложенными структурами.
Ваша вторая попытка изменить запись `foo` с «переносом полей» на самом деле вызвана неправильным управлением абзацами. F# требует, чтобы каждая запись была корректно выровнена.
Попробуйте переписать ваш код следующим образом:
```fsharp
let foo = { foo with Bar =
{ ID = 1L
Name = "bar" }
}
```
Обратите внимание на то, что я расположил `{ ID = 1L ... }` на новой строке, но при этом не добавлял дополнительный отступ перед `{`. Это должно решить вашу проблему с ошибкой о неверной индентации.
Кроме того, вы можете сделать это в одном абзаце, если это более удобно для вас, например, вот так:
```fsharp
let foo = { foo with Bar = { ID = 1L; Name = "bar" } }
```
Этот способ также работает, если вам не нужно добавлять дополнительные строки.
Если у вас есть еще вопросы или трудности, не стесняйтесь спрашивать!