added first and nullable, tested with html & unhygienic

Okay, so I went through and fixed the nullable/first from what was committed earlier. I feel like there are a couple places that I don't quite like. Let me know if you spot any immediate issues. I'm going to start Follows in just a second and that commit will come tomorrow morning