anchor.diff:          NumberOfRows:int
           MaxNumberOfColors:int }
   
  +    type StoneGenerator = (int -> CellState)
  +
       type SameGameApi = {
  -        NewGame: (int -> int) -> GameConfig -> Game option
  +        NewGame: StoneGenerator -> GameConfig -> Game option
           Play: Game -> Position -> Game }
   
   module SameGameDomain =
  
positive.code: 
  let buttonNewGame = document.getElementById("new-game") :?> HTMLButtonElement
  buttonNewGame.addEventListener_click((fun _ -> 
      let game = api.NewGame rndColor defaultConfig
      updateUi game; null), false)
  
  api.NewGame rndColor defaultConfig |> updateUi 
negative.code:         else
              true
  
      let private newGame gen config = 
          let createBoard gen config =
              List.init config.NumberOfColumns (fun _ -> List.init config.NumberOfRows (fun _ -> gen config.MaxNumberOfColors))
              |> fun board -> { Board = board; Score = 0 }
              |> evaluateGameState |> Some
          if config |> isValid then
              createBoard gen config
          else None
  
      let api = {
  