         when 'Op'
           addBlock node, operatorPrecedences[node.operator], colors.VALUE, wrappingParen
 
-          mark node.first, operatorPrecedences[node.operator]
-          if node.second? then mark node.second, operatorPrecedences[node.operator]
+          addSocket node.first, operatorPrecedences[node.operator]
+          if node.second? then addSocket node.second, operatorPrecedences[node.operator]
       
         # ### Existence ###
         # The Existence operator works

        # we will simply signify to the child node that it must wrap
        # itself in these parentheses.
        when 'Parens'
          if node.body? then mark node.body.unwrap(), 0, node
        
        # ### Obj ###
        # Objects can be one-line or multiline,

        # Nothing particularly interesting.
        when 'Range'
          addBlock node, precedence, colors.VALUE, wrappingParen
          addSocket node.from; addSocket node.to
        
        # ### If ###
        # An If consists of two separate
