This may be null (at least sundown checks for it), so it's probably worth checking for null up front.

I also think that `str::raw` gives some better usage than `vec => str::from_utf8` (I only realized this much later after writing this code).