             throw new Error("Unknown element type in array: #{child.constructor.name} (must be string, number, Element, RawHtml, or jQuery objects)")
 
     updateContents = (elt, contents) ->
-      elt.html('')
+      elt.html('') if elt.html
       if _.isArray(contents)
         nodes = toNodes(contents)
         elt.append(nodes)

          _.isString(arg1) or
          _.isNumber(arg1) or
          arg1 instanceof Element or
          arg1 instanceof RawHtml or
          arg1 instanceof $ or
          _.isArray(arg1) or

          setDynProp(elt, name, value)
        if contents?
          if contents instanceof ObsArray
            autoSubContents(elt, contents)
          else if contents instanceof ObsCell
            # TODO: make this more efficient by checking each element to see if it
            # changed (i.e. layer a MappedDepArray over this, and make DepArrays
