def player_round(player: Player, pouch: List[str]) -> Tuple[NamedTuple, List[NamedTuple]]: """One round of scrabble game.""" player.fetch_tiles(pouch) player.display_hand() word = _prompt_for_word(player) value = word_value(word) player.points += value player_word = Word(word.upper(), value) optimal_words = _get_optimal_words(player.hand) _remove_tiles(word, player.hand) return player_word, optimal_words