Hmm, do any `toCBuffer` methods require `hgs` to be non-null? I'm not sure what this change buys us (is it to prevent the OSX crash?)