Failing at TicTacToe implementation, covariant contravariant madness!