code: function getInnerHTML(node) {
  	if (!node.children) return '';
  	if (!isArray(node.children) && typeof HTMLCollection !== 'undefined' && !(node.children instanceof HTMLCollection)) node.children = [node.children];
  
  	return (isArray(node) && node || (typeof HTMLCollection !== 'undefined' && node.children instanceof HTMLCollection ? [].slice.call(node.children) : node.children)).map(function (child) {
  		if ((typeof child === 'undefined' ? 'undefined' : _typeof(child)) !== 'object') {
  			return '' + child;
  		} else if (isArray(child)) {
  			return getInnerHTML(child);
  		} else {
  			var attributes = [''].concat(Object.keys(child.attributes).map(function (attr) {
  				return attr + '="' + child.attributes[attr].value + '"';
  			}));
  			if (['img', 'link', 'meta', 'input', 'br', 'area', 'base', 'param', 'source', 'hr', 'embed'].indexOf(child.tagName) < 0) {
  				return '<' + child.tagName + attributes.join(' ') + '>' + getInnerHTML(child) + '</' + child.tagName + '>';
  			} else {
  				return '<' + child.tagName + attributes.join(' ') + '/>';
  			}
  		}
  	}).join('');
  }
docs: Calculates the HTML structure as a String represented by the VDOM
  
  @param  {Object} node - the VDOM node whose inner HTML to generate
  @return {String} - the HTML structure representing the VDOM