inUserInformation
  liftIO $ print user
  ctx2 <- get
  liftIO $ putStrLn ("Post: " ++ (show ctx2))

  liftIO $ putStrLn ""
  liftIO $ putStrLn "- 3. -----------------------------"
  user' <- liftIO $ getUserInformation "jabaraster"
  liftIO $ print user'
  ctx3 <- get
  liftIO $ putStrLn ("Post: " ++ (show ctx3))

  liftIO $ putStrLn ""
  liftIO $ putStrLn "- 4. -----------------------------"
  tags <- getTagsAFirstPage

  liftIO $ mapM_ (\page -> print $ (++) "  >>>> " (show page)) (pagenation tags)
  ctx4 <- get

  liftIO $ putStrLn ""
  liftIO $ putStrLn "- 5. -----------------------------"
  tags' <- getTagsAWithPage (pagenation tags !! 0)
  liftIO $ mapM_ print (list tags')
  liftIO $ mapM_ print (pagenation tags')


runPostItem :: StateT QiitaContext IO ()
runPostItem = do
  let newItem = PostItem { post_item_title = "Qiita API on Haskell"
                         , post_item_body = "Qiita API on Haskell"
                         , post_item_tags = [ PostTag "Haskell" [] ]
                     
runCore :: StateT QiitaContext IO ()
runCore = do
  liftIO $ putStrLn ""
  liftIO $ putStrLn "- 1. -----------------------------"
  ctx1 <- get
  liftIO $ putStrLn ("Pre: " ++ (show ctx1))

  liftIO $ putStrLn ""
  liftIO $ putStrLn "- 2. -----------------------------"
  user <- getLoginUserInformation
  liftIO $ print user
  ctx2 <- get
  liftIO $ putStrLn ("Post: " ++ (show ctx2))

  liftIO $ putStrLn ""
  liftIO $ putStrLn "- 3. -----------------------------"
  user' <- liftIO $ getUserInformation "jabaraster"
  liftIO $ print user'
  ctx3 <- get
  liftIO $ putStrLn ("Post: " ++ (show ctx3))

  liftIO $ putStrLn ""
  liftIO $ putStrLn "- 4. -----------------------------"
  tags <- getTagsAFirstPage

  liftIO $ mapM_ (\page -> print $ (++) "  >>>> " (show page)) (pagenation tags)
  ctx4 <- get

  liftIO $ putStrLn ""
  liftIO $ putStrLn "- 5. -----------------------------"
  tags' <- getTagsAWithPage (pagenation tags !! 0)
  liftIO $ mapM_ print (list tags')
  liftIO $ mapM_ print (pagenation tags')
runCore = do
  liftIO $ putStrLn ""
  liftIO $ putStrLn "- 1. -----------------------------"
  ctx1 <- get
  liftIO $ putStrLn ("Pre: " ++ (show ctx1))

  liftIO $ putStrLn ""
  liftIO $ putStrLn "- 2. -----------------------------"
  user <- getLoginUserInformation
  liftIO $ print user
  ctx2 <- get
  liftIO $ putStrLn ("Post: " ++ (show ctx2))

  liftIO $ putStrLn ""
  liftIO $ putStrLn "- 3. -----------------------------"
  user' <- liftIO $ getUserInformation "jabaraster"
  liftIO $ print user'
  ctx3 <- get
  liftIO $ putStrLn ("Post: " ++ (show ctx3))

  liftIO $ putStrLn ""
  liftIO $ putStrLn "- 4. -----------------------------"
  tags <- getTagsAFirstPage

  liftIO $ mapM_ (\page -> print $ (++) "  >>>> " (show page)) (pagenation tags)
  ctx4 <- get

  liftIO $ putStrLn ""
  liftIO $ putStrLn "- 5. -----------------------------"
  tags' <- getTagsAWithPage (pagenation tags !! 0)
  liftIO $ mapM_ print (list tags')
  liftIO $ mapM_ print (pagenation tags')