I don't think `makeID` should be exposed – I will come back to this topic in the code below, and I will try to explain why.