I'd add to 4, having seen a bit of the Kernel code.
There's a lot of duplication of code, when new developers or teams come on board, they often just re-invent the wheel, rather than using existing Kernel funtions.
I would guess that most of the 15 NT developers from 30 years ago have long since left.