-record(state, { first :: xo:player(), turn :: xo:player(), outcome :: xo:outcome() }).