@mkj Yes, I fully agree. Basic vi feels full of decisions made to limit the amount of resources it needs (most obviously only having a single level of undo), which would have been really important on early BSD systems that were heavily used by students.
(At one point in the 1980s the UofT didn't even let undergraduates run vi because it was considered too resource intensive. It was ed (in a friendlier UofT version) or nothing.)