OK:
if (vars.empty()) {
// Store null env pointer if environment is empty
builder.CreateStore(
llvm::ConstantPointerNull::getNullValue(
clo_env_slot->getType()
->getContainedType(0)),
clo_env_slot,
/* isVolatile= */ false);
}
Better:
if (vars.empty()) {
storeNullPointerToSlot(clo_env_slot);
}