Do we want headers to default to `None` or `{}` here? I'm guessing the other end of this does a falsy check(e.g. `if not headers:`), but I'm not sure.