       @replace node, type: 'CoffeeEscapedExpression', value: 'undefined'
     else
       node
+
+  ###
+  # Updates binary expressions to their CoffeeScript equivalents
+  ###
+
+  updateBinaryExpression: (node) ->
+    dict =
+      '===': '=='
+      '!==': '!='
+    op = node.operator
+    if dict[op] then node.operator = dict[op]
+    node
+
+  ###
+  # Removes `undefined` from function parameters
+  ###
 
   removeUndefinedParameter: (node) ->
     if node.params

    [ node.name ]

  UnaryExpression: (node) ->
    if node.operator is 'void'
      [ 'undefined' ]
    else if (/^[a-z]+$/i).test(node.operator)
      [ node.operator, ' ', @walk(node.argument) ]
    else
      [ node.operator, @walk(node.argument) ]

  # Operator (+)
  BinaryExpression: (node) ->
    dict =
      '===': '=='
      '!==': '!='
    op = node.operator
    if dict[op] then op = dict[op]

    space [ @walk(node.left), op, @walk(node.right) ]

  Literal: (node) ->
    [ node.raw ]

      @replace node, type: 'Identifier', name: node.id.name

  ###*
  # replace() : @replace(node, newNode)
  # Fabricates a replacement node for `node` that maintains the same source
  # location.
  #
