anchor.diff:  
       let private redraw snakeColor foodColor =
           clearScreen ()
  -        Console.ForegroundColor <- snakeColor
  -        drawSnake snake
  -        Console.ForegroundColor <- foodColor
  -        drawFood food
  -        Console.ForegroundColor <- minesColor
  -        drawMines mines
  -
  -    let private createSquare bounds occupied = 
  +        drawGameStatus gameStatusColor gameBounds level snake.Length
  +        drawSnake snakeColor snake
  +        drawFood foodColor food 
  +        drawMines minesColor mines
  +
  +    let private createSquare occupied = 
           let rnd = new Random ()
  -        let _, { x = maxX; y = maxY } = bounds
  +        let { x = minX; y = minY }, { x = maxX; y = maxY } = gameBounds
           let rec makeOne () =
               let square = 
  -                { x = rnd.Next(maxX)
  -                  y = rnd.Next(maxY) }
  +                { x = rnd.Next(minX, maxX)
  +                  y = rnd.Next(minY, maxY) }
               let isOccupied = 
                   occupied 
                   |> List.exists ((=) square)
  
positive.code: 
  [<AutoOpen>]
  module Graphics =
      let drawSquare char square =
          Console.SetCursorPosition (square.x, square.y)
          printf char
  
      let clearScreen () =
          Console.Clear ()
  
      let drawMany char squares =
          squares |> List.iter (drawSquare char)
  
      let drawSnake = drawMany "*"
      let drawFood = drawMany "o"
      let drawMines = drawMany "#"
  
  module SnakeGame =
  
  
negative.code:     Console.CursorVisible <- false
      Console.BackgroundColor <- ConsoleColor.White
  
      let minX, minY = 0, 2
      let maxX, maxY = Console.WindowWidth, Console.WindowHeight
      let gameBounds = { x = minX; y = minY }, { x = maxX; y = maxY }
      let startPosition = { x = (maxX - minX) / 2; y = (maxY - minY) / 2 }
      let startDirection = Right
      
      SnakeGame.start gameBounds startPosition startDirection
  