-- Note: the first argument of this function represents the player
-- that just moved. The Board arguments are the previous and current
-- boards.
actorNotify :: (Monad m) =>
  Player -> Board -> Board -> Actor m -> m (Actor m)
actorNotify p b1 b2 (Student c n) = return $ Student c $ updateENet p b1 b2 n
actorNotify :: (Monad m) =>
  Player -> Board -> Board -> Actor m -> m (Actor m)
actorNotify p b1 b2 (Student c n) = return $ Student c $ updateENet p b1 b2 n
actorNotify p b1 b2 (Student c n) = return $ Student c $ updateENet p b1 b2 n