anchor.diff:      _body = new List<Point>.generate(START_LENGTH, (int index) => new Point(i--, 0));
     }
   
  +  Point get head => _body.first;
  +
     void _draw(CanvasRenderingContext2D ctx) {
       // starting with the head, draw each body segment
       for (Point p in _body) {
  -      drawCell(ctx, p, "green");
  +      drawCell(p, "green");
       }
     }
   
  
positive.code:   }
  
    void _checkInput(Keyboard keyboard) {
      if (keyboard.isPressed(KeyCode.RIGHT) && _dir != LEFT) {
        _dir = RIGHT;
      }
      else if (keyboard.isPressed(KeyCode.LEFT) && _dir != RIGHT) {
        _dir = LEFT;
      }
      else if (keyboard.isPressed(KeyCode.UP) && _dir != DOWN) {
        _dir = UP;
  
negative.code:   Snake _snake;
    Point _food;
  
    Game() {
      _rightEdgeX = canvas.width ~/ CELL_SIZE;
      _bottomEdgeY = canvas.height ~/ CELL_SIZE;
  
      init();
    }
  