public void With_PreservesFieldsFromLaterGenerations()
        {
            var value = Generations.Create2(age: 5)
                        .With("first");

            Assert.Equal(5, value.Age);
        }
        public void Create2()
        {
            var value = Generations.Create2(5, "first", "last");

            Assert.Equal(5, value.Age);
            Assert.Equal("first", value.FirstName);
            Assert.Equal("last", value.LastName);
        }
        public void With0()
        {
            var value = Generations.Create()
                        .With("first", "last");

            Assert.Equal(0, value.Age);
            Assert.Equal("first", value.FirstName);
            Assert.Equal("last", value.LastName);
        }