-- |@newNamelike n@ returns an unique namelike with prefix @n@
newNamelike :: (MonadUnique m, Namelike n, Namelike o) => n -> m o
newNamelike prefix = newString (fromName $ originalName prefix) >>= return . readName
newNamelike :: (MonadUnique m, Namelike n, Namelike o) => n -> m o
newNamelike prefix = newString (fromName $ originalName prefix) >>= return . readName
newNamelike prefix = newString (fromName $ originalName prefix) >>= return . readName