I think 6) has an error in the comment. For the comment to apply it the line of code should've read:
var currentAge = customer?.profile?.age?;
var currentAge = customer?.profile?.age;
As for 2), I like the new syntax, my only problem with this is that the debugger does not seem to be aware of it, ie you cannot step through each of the init statements whereas with the old-style assignment statements you can of course.