 #
 # ```coffee
 # new Point(1, 2)
-# [1, 2]
+# [1, 2] # Point compatible Array
 # ```
 module.exports =
 class Point
   # Public: Convert any point-compatible object to a {Point}.
   #
-  # * object:
-  #     This can be an object that's already a {Point}, in which case it's
-  #     simply returned, or an array containing two {Number}s representing the
-  #     row and column.
-  #
-  # * copy:
-  #     An optional boolean indicating whether to force the copying of objects
-  #     that are already points.
+  # * `object` This can be an object that's already a {Point}, in which case it's
+  #   simply returned, or an array containing two {Number}s representing the
+  #   row and column.
+  # * `copy` An optional boolean indicating whether to force the copying of objects
+  #   that are already points.
   #
   # Returns: A {Point} based on the given object.
   @fromObject: (object, copy) ->


  # Public: Returns a {Boolean} indicating whether this point precedes the given
  # {Point} or point-compatible {Array}.
  isLessThan: (other) ->
    @compare(other) < 0

  # Public: Returns a {Boolean} indicating whether this point precedes or is
  # equal to the given {Point} or point-compatible {Array}.
  isLessThanOrEqual: (other) ->
    @compare(other) <= 0

  # Public: Returns a {Boolean} indicating whether this point follows the given
  # {Point} or point-compatible {Array}.
  isGreaterThan: (other) ->
    @compare(other) > 0

  # Public: Returns a {Boolean} indicating whether this point follows or is
  # equal to the given {Point} or point-compatible {Array}.
  isGreaterThanOrEqual: (other) ->
    @compare(other) >= 0


    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)
