newId :: Coord Integer
newId = do 
  s <- get 
  let i = nextId s 
  put (s {nextId = i+1})
  return i
  
--    (String, String, Word32,  Word32) 
--     code    name    threads  shared       
  
  
--               code       code   name                           name 
newId :: Coord Integer
newId = do 
  s <- get 
  let i = nextId s 
  put (s {nextId = i+1})
  return i
  
--    (String, String, Word32,  Word32) 
--     code    name    threads  shared       
  
  
--               code       code   name                           name 
newId = do 
  s <- get 
  let i = nextId s 
  put (s {nextId = i+1})
  return i
  
--    (String, String, Word32,  Word32) 
--     code    name    threads  shared       
  
  
--               code       code   name                           name 