the other TIL is it doesn't seem the "record" keyword *guarantees* immutability
it can be made *easier* but immutability is definitely not guaranteed. no warnings etc with a mutable record
access modifiers are enforced at compile time with lambda expression trees, too. but you can still build it manually and it works
the docs were a little confusing as it describes records as "immutable by default" but i dont think the record does not reflect this statement (ha ha) https://github.com/dotnet/docs/issues/21224