anchor.diff:  open Akka
   open Akkling
   
  +type PlayerGameInfo = {
  +    GameRoom : Actor.IActorRef
  +}
  +
  +type PlayerMessage = 
  +    | GameStarted of PlayerGameInfo
  +    | Message of string
  +    | Failed
  +            
  +
   [<CustomEquality; CustomComparison>]
   type PlayerIdentity = {
           Id  : Guid
  -        Ref : Actor.IActorRef 
  +        Ref : IActorRef<PlayerMessage>
       }
       with
           override x.Equals(yobj) =
  
positive.code: let PlayerActor waitingRoom id (mailbox:Actor<PlayerMessage>) =
      let log = printfn
      let loge = printfn "%A"
      let rec gamePlay (gameRoom:Actor.IActorRef) = actor {
          log "Playing games!!"
          gameRoom <! (sprintf "I am playing: %A" id)
      }
  
      let rec requestGameRoom() = actor {
  
negative.code: 
          if Set.count players = 3 then
              //  start the game by notifying all players the gameRoom has been initialized
              let gameRoomActor = spawn ActorSystem "GameRoom" (GameRoomActor players)
              players |> Set.toList |> List.iter(fun p -> p.Ref <! GameStarted({PlayerGameInfo.GameRoom = gameRoomActor}))
              log "Game Started"
  
          let! message = mailbox.Receive()
  