   dialog: {category: 'other'}
   noscript: {category: 'other'}
   template: {category: 'other'}
-  canvas: {category: 'other'}
+  canvas: {category: 'other', content: 'optional'}
   svg: {category: 'other'}
   frameset: {category: 'other'}
 }

          for child in node.childNodes
            @mark indentDepth, child, depth + 1, null
        else
          if (node.nodeName isnt 'script' or not @hasAttribute node, 'src') and
              node.__indentLocation.end isnt node.__location.end
            @htmlSocket node, depth + 1, null, indentBounds

      when 'text'

  #Form
  form: {category: 'form'}
  input: {category: 'form'}
  textarea: {category: 'form', content: 'optional'}
  label: {category: 'form'}
  button: {category: 'form'}
  select: {category: 'form'}
