O que uma expressão `with` do C# realmente copia, e por que as propriedades calculadas de um record não são recalculadas?
Uma expressão with chama o método <Clone>$ gerado pelo compilador para o record, que executa um construtor de cópia que copia todos os campos de instância e ignora todos os inicializadores. É por isso que propriedades inicializadas a partir de outras propriedades, valores em cache e IDs Guid ficam desatualizados. Medido no .NET 10 com C# 14, com as correções que realmente funcionam.