code: function removeChild(parEl, el) {
  	var node = el._node;
  
  	// already marked for removal
  	if (node._dead) { return; }
  
  	var res = deepNotifyRemove(node);
  
  	if (res != null && isProm(res)) {
  		node._dead = true;
  		res.then(curry(_removeChild, [parEl, el, true]));
  	}
  	else
  		{ _removeChild(parEl, el); }
  }
docs: todo: should delay parent unmount() by returning res prom?