Alloc nodes store original type on a separate property to avoid unneeded recalculations