finish :: MonadBooks m => Maybe Text -> m ()
finish q = do
    b <- reading >>= maybe expect1 query1 q
    modify $ Set.delete b
    putLn [st|Finished reading #{formatBook b}|]
finish :: MonadBooks m => Maybe Text -> m ()
finish q = do
    b <- reading >>= maybe expect1 query1 q
    modify $ Set.delete b
    putLn [st|Finished reading #{formatBook b}|]
finish q = do
    b <- reading >>= maybe expect1 query1 q
    modify $ Set.delete b
    putLn [st|Finished reading #{formatBook b}|]