`UniqSupply` API should use -XLinearTypes
Once we can use -XLinearTypes in GHC, the UniqSupply API seems like a good fit to "make safer". For example, I think it's always an error to re-use a UniqSupply after we have splitUniqSupply it or called takeUniqSupply.