     (word1 == word2 and pos1 <= pos2) or
      ((word1.index @rte) < (word2.index @rte))
 
+  # Returns true when the "side" side of the selection is greater than the
+  # position given as parameters.
+  # @param word2 [Word] a word instance
+  # @param pos2 [Integer] the offset in this word
+  # @param side [String] either "left" or "right"
   gt: (word2, pos2, side)->
     if not (_.isString side)
       throw new Error "Expected a string as first argument, got #{side}"

      outSelLeft.leftPos = selection.leftPos
      outSelLeft.rightPos = inSel.leftPos
      outSelLeft.bind selection.left, inSel.left
    else
      console.log "Impossible to split, #{@} is not in #{selection}"


    else throw new Error "Wrong set of parameters
      #{start}, #{end}, #{rte}, #{style}"

  # Returns true if the selection is empty (it has no length)
  isEmpty: () ->
    (@left == @right and @leftPos == @rightPos)

  # Returns true when the "side" side of the selection is less than the
  # position given as parameters.
  # @param word2 [Word] a word instance
  # @param pos2 [Integer] the offset in this word
  # @param side [String] either "left" or "right"
  lt: (word2, pos2, side)->
    if not (_.isString side)
      throw new Error "Expected a string as first argument, got #{side}"
