lookAround :: Int64 -> Text -> Handler Text
lookAround areaId urlHash = do
    areaDescription <- lookAtArea areaId
    items <- showItemsInArea areaId
    inv <- showInventory urlHash
    case areaDescription of
        Just areaVal ->
            case items of
                [] -> return $ areaArea_description areaVal
                items' -> return $ pack $ (unpack $ areaArea_description areaVal) ++ "\nThere are the following items: " ++ (unpack $ toItemName "" (listMinus items' inv))
        _ -> return "Wrong area ID."

-- helper functions
lookAround :: Int64 -> Text -> Handler Text
lookAround areaId urlHash = do
    areaDescription <- lookAtArea areaId
    items <- showItemsInArea areaId
    inv <- showInventory urlHash
    case areaDescription of
        Just areaVal ->
            case items of
                [] -> return $ areaArea_description areaVal
                items' -> return $ pack $ (unpack $ areaArea_description areaVal) ++ "\nThere are the following items: " ++ (unpack $ toItemName "" (listMinus items' inv))
        _ -> return "Wrong area ID."

-- helper functions
lookAround areaId urlHash = do
    areaDescription <- lookAtArea areaId
    items <- showItemsInArea areaId
    inv <- showInventory urlHash
    case areaDescription of
        Just areaVal ->
            case items of
                [] -> return $ areaArea_description areaVal
                items' -> return $ pack $ (unpack $ areaArea_description areaVal) ++ "\nThere are the following items: " ++ (unpack $ toItemName "" (listMinus items' inv))
        _ -> return "Wrong area ID."

-- helper functions