Journal restore fills command fields with null
I have a repro for this. This F# project: https://github.com/srid/Baseline (dotnet run the Baseline.CLI project)
- Main entry point: https://github.com/srid/Baseline/blob/346ff7bdb70d131c03469e5f7d7e62b16926d581/src/Baseline.CLI/Program.fs#L12-L19
- Types: https://github.com/srid/Baseline/blob/master/src/Baseline.Data/Library.fs#L7-L56
When I run the program multiple times, each time it loads the .journal file (which seems to be created correctly) but discards the command field values in them, instead filling them with null. See terminal output:

As you can see all but the last record (which was inserted in current thread) is filled with null. All but last record was loaded from the .journal file at program startup.
The command itself looks about right:
type Think(s: string, t: DateTime) =
inherit Command<BaselineModel, DateTime>()
member this.Content = s
member this.When = t
override Command.Execute(model: BaselineModel): DateTime =
let thought = model.Think(s, t)
Command.RaiseEvent(ThoughtSaved(thought))
thought.When
Did I hit a bug in memstate?
In another project (a solution with exactly one project with exactly one module), it works: https://github.com/srid/OneBird/blob/master/Program.fs
I wonder if it is something to do with the multiple project / split-across-modules nature of the Baseline project that causes this bug? I do see that in the .journal file the module/namespace is registered, along with project name.