 
       new Point(row, column)
 
-  # Public: Returns the given point that is earlier in the buffer.
+  # Public: Returns the given {Point} that is earlier in the buffer.
+  #
+  # * `point1` {Point}
+  # * `point2` {Point}
   @min: (point1, point2) ->
     point1 = @fromObject(point1)
     point2 = @fromObject(point2)


  # Public:
  #
  # * other: A {Point} or point-compatible {Array}.
  #
  # Returns:
  #  * -1 if this point precedes the argument.
  #  * 0 if this point is equivalent to the argument.
  #  * 1 if this point follows the argument.
  compare: (other) ->
    if @row > other.row
      1

    new Point(@row, @column)

  # Public: Makes this point immutable and returns itself.
  #
  # Returns an immutable version of this {Point}
  freeze: ->
    Object.freeze(this)

  # Public: Return a new {Point} based on shifting this point by the given delta,
  # which is represented by another {Point}.
  #
  # * `delta` {Point} to shift by
  translate: (delta) ->
    {row, column} = Point.fromObject(delta)
    new Point(@row + row, @column + column)
