     else if isEvent(name)
       element["on#{name}"] = value
     else
-      bindObservable(element, value, update)
+      bindObservable element, value, (newValue) ->
+        if newValue? and newValue != false
+          element.setAttribute name, newValue
+        else
+          element.removeAttribute name
 
     return element
 


  switch element.nodeName
    when "SELECT"
      updateSelected = (newValue) ->
        # This is so we can hold a non-string object as a value of the select element
        element._value = newValue


        if (options = element._options) and (typeof newValue is "object")
          if newValue.value?


    {nodeName} = element

    # TODO: Consolidate special bindings better than if/else
    if (name is "value")
      valueBind(element, value)
    else if binding = specialBindings[nodeName]?[name]
      binding(element, value)
    # Straight up onclicks, etc.
