`s2n_free` checks if `b->data` is nonzero before calling `free`.... But `free` is totally cool with a `NULL` pointer, so this just adds code bloat? What's up with that?