         if node.name is '__'
           block = @jsBlock node, depth, bounds
           block.flagToRemove = true
+        else if @lookupKnownName node
+          @jsBlock node, depth, bounds
       when 'CallExpression', 'NewExpression'
         @jsBlock node, depth, bounds
-        known = @lookupFunctionName node
+        known = @lookupKnownName node
         if not known
           @jsSocketAndMark indentDepth, node.callee, depth + 1, NEVER_PAREN
         else if known.anyobj and node.callee.type is 'MemberExpression'

    if not wildcard and (wildcard = '?.' + last) not of @opts.functions
      wildcard = null  # no match for '?.foo'
    if wildcard isnt null
      return name: last, anyobj: true, fn: @opts.functions[wildcard]
    return null

  getAcceptsRule: (node) -> default: helper.NORMAL

    switch node.type
      when 'ExpressionStatement'
        return @getColor node.expression
      when 'CallExpression', 'NewExpression', 'MemberExpression', 'Identifier'
        known = @lookupKnownName node
        if known
          if known.fn.color
            return known.fn.color
          else if known.fn.value and not known.fn.command
            return @opts.categories.value.color
    category = @lookupCategory node
    return category?.color or 'command'

  getSocketLevel: (node) -> helper.ANY_DROP

