Removing confusing first child usage

Detecting `el.firstElementChild` prevents `wrap` from being used to wrap an element that has descendents. (I'm not really sure why, but I'll ask questions later)