How can you ensure that every unhandled Type has a valid TypeInfo.next field.
You should instead list all TypeInfos with a valid `.next` field explicitly.
It's also fairly confusing to read that TypeInfo.Type.double_ is handled by a recursive call with `.next is null`.