Addressed code review comments.
diff --git a/source/fuzz/fuzzer_pass_donate_modules.cpp b/source/fuzz/fuzzer_pass_donate_modules.cpp
index d9176e3..4ba5305 100644
--- a/source/fuzz/fuzzer_pass_donate_modules.cpp
+++ b/source/fuzz/fuzzer_pass_donate_modules.cpp
@@ -397,7 +397,7 @@
       } break;
       case SpvOpConstantNull: {
         if (!original_id_to_donated_id->count(type_or_value.type_id())) {
-          // We did not denote the type associated with this null constant, so
+          // We did not donate the type associated with this null constant, so
           // we cannot donate the null constant.
           continue;
         }
diff --git a/source/fuzz/fuzzer_util.cpp b/source/fuzz/fuzzer_util.cpp
index 90cf9fe..4d85984 100644
--- a/source/fuzz/fuzzer_util.cpp
+++ b/source/fuzz/fuzzer_util.cpp
@@ -537,6 +537,13 @@
   return 0;
 }
 
+bool IsNullConstantSupported(const opt::analysis::Type& type) {
+  return type.AsBool() || type.AsInteger() || type.AsFloat() ||
+         type.AsMatrix() || type.AsVector() || type.AsArray() ||
+         type.AsStruct() || type.AsPointer() || type.AsEvent() ||
+         type.AsDeviceEvent() || type.AsReserveId() || type.AsQueue();
+}
+
 }  // namespace fuzzerutil
 
 }  // namespace fuzz
diff --git a/source/fuzz/fuzzer_util.h b/source/fuzz/fuzzer_util.h
index 08edfc5..886029a 100644
--- a/source/fuzz/fuzzer_util.h
+++ b/source/fuzz/fuzzer_util.h
@@ -210,6 +210,10 @@
 uint32_t MaybeGetPointerType(opt::IRContext* context, uint32_t pointee_type_id,
                              SpvStorageClass storage_class);
 
+// Returns true if and only if |type| is one of the types for which it is legal
+// to have an OpConstantNull value.
+bool IsNullConstantSupported(const opt::analysis::Type& type);
+
 }  // namespace fuzzerutil
 
 }  // namespace fuzz
diff --git a/source/fuzz/transformation_add_constant_null.cpp b/source/fuzz/transformation_add_constant_null.cpp
index 489790e..dedbc21 100644
--- a/source/fuzz/transformation_add_constant_null.cpp
+++ b/source/fuzz/transformation_add_constant_null.cpp
@@ -42,10 +42,7 @@
   }
   // The type must be one of the types for which null constants are allowed,
   // according to the SPIR-V spec.
-  return type->AsBool() || type->AsInteger() || type->AsFloat() ||
-         type->AsMatrix() || type->AsVector() || type->AsArray() ||
-         type->AsStruct() || type->AsPointer() || type->AsEvent() ||
-         type->AsDeviceEvent() || type->AsReserveId() || type->AsQueue();
+  return fuzzerutil::IsNullConstantSupported(*type);
 }
 
 void TransformationAddConstantNull::Apply(