let look state player =
  let room = Hashtbl.find state.rooms player.room in
  let items = String.concat "\n" (List.map item_look room.items) in
  let player_names_all = List.of_seq (Hashtbl.to_seq_keys room.players) in
  let player_names = remove player.name player_names_all in
  let players = String.concat "\n" (List.map player_look player_names) in
  let exit_names = List.of_seq (Hashtbl.to_seq_keys room.exits) in
  let exits = String.concat "\n" (List.map exit_look exit_names) in
  String.concat "\n" [room.description; items; players; exits]

Generated by Phil Hagelberg using scpaste at Sat Sep 2 16:12:17 2023. PDT. (original)