How can a single extra type field be SLOW, as compared to well over two hundred lines of code...
Simple isn't always fast. Compare a quicksort to a bubblesort. Also compare a query on a database table with a relevant index to one without.
But typically, things like this aren't "slow" or "fast" - they perform differently for different operations.
For example, if you use this "single extra type field," the only way to loop over all the objects belonging to a single list is to loop over all the objects in every list. If you had a thousand lists of a thousand elements each, you'd have to loop over a million elements just to process one list! Conversely, if you keep separate linked-lists, you can loop through each list without having to deal with the others.
And if you look at it the other way, an "id field" saves you time when creating and destroying objects, since you don't need to go and update any linked lists that own them... albeit not much.
P.S. Spelt is "an ancient wheat ... with spikelets containing two light red grains"