withCatalog :: (Catalog -> IO a) -> IO a
withCatalog f = do
  c <- standardCatalog
  ret <- f c
  destroyCatalog c
  return ret
withCatalog :: (Catalog -> IO a) -> IO a
withCatalog f = do
  c <- standardCatalog
  ret <- f c
  destroyCatalog c
  return ret
withCatalog f = do
  c <- standardCatalog
  ret <- f c
  destroyCatalog c
  return ret