Simplify cgen of empty functions
diff --git a/internal/cgen/func.go b/internal/cgen/func.go
index 1d5bd58..da83069 100644
--- a/internal/cgen/func.go
+++ b/internal/cgen/func.go
@@ -188,16 +188,20 @@
 		return err
 	}
 	b.writes("{\n")
-	b.writex(k.bPrologue)
-	if k.astFunc.Effect().Coroutine() {
-		b.writex(k.bBodyResume)
+
+	if (len(n.Body()) != 0) || n.Effect().Coroutine() || (n.Out() != nil) {
+		b.writex(k.bPrologue)
+		if n.Effect().Coroutine() {
+			b.writex(k.bBodyResume)
+		}
+		b.writex(k.bBody)
+		if n.Effect().Coroutine() {
+			b.writex(k.bBodySuspend)
+		} else if k.hasGotoOK {
+			b.writes("\ngoto ok;ok:\n") // The goto avoids the "unused label" warning.
+		}
 	}
-	b.writex(k.bBody)
-	if k.astFunc.Effect().Coroutine() {
-		b.writex(k.bBodySuspend)
-	} else if k.hasGotoOK {
-		b.writes("\ngoto ok;ok:\n") // The goto avoids the "unused label" warning.
-	}
+
 	b.writex(k.bEpilogue)
 	b.writes("}\n\n")
 	return nil
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index 26b70a3..8f15b6e 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -11161,13 +11161,6 @@
 wuffs_adler32__hasher__set_quirk_enabled(wuffs_adler32__hasher* self,
                                          uint32_t a_quirk,
                                          bool a_enabled) {
-  if (!self) {
-    return wuffs_base__make_empty_struct();
-  }
-  if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
-    return wuffs_base__make_empty_struct();
-  }
-
   return wuffs_base__make_empty_struct();
 }
 
@@ -11394,13 +11387,6 @@
 wuffs_bmp__decoder__set_quirk_enabled(wuffs_bmp__decoder* self,
                                       uint32_t a_quirk,
                                       bool a_enabled) {
-  if (!self) {
-    return wuffs_base__make_empty_struct();
-  }
-  if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
-    return wuffs_base__make_empty_struct();
-  }
-
   return wuffs_base__make_empty_struct();
 }
 
@@ -12633,13 +12619,6 @@
 wuffs_bmp__decoder__set_report_metadata(wuffs_bmp__decoder* self,
                                         uint32_t a_fourcc,
                                         bool a_report) {
-  if (!self) {
-    return wuffs_base__make_empty_struct();
-  }
-  if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
-    return wuffs_base__make_empty_struct();
-  }
-
   return wuffs_base__make_empty_struct();
 }
 
@@ -13629,13 +13608,6 @@
 wuffs_crc32__ieee_hasher__set_quirk_enabled(wuffs_crc32__ieee_hasher* self,
                                             uint32_t a_quirk,
                                             bool a_enabled) {
-  if (!self) {
-    return wuffs_base__make_empty_struct();
-  }
-  if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
-    return wuffs_base__make_empty_struct();
-  }
-
   return wuffs_base__make_empty_struct();
 }
 
@@ -14029,13 +14001,6 @@
 wuffs_deflate__decoder__set_quirk_enabled(wuffs_deflate__decoder* self,
                                           uint32_t a_quirk,
                                           bool a_enabled) {
-  if (!self) {
-    return wuffs_base__make_empty_struct();
-  }
-  if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
-    return wuffs_base__make_empty_struct();
-  }
-
   return wuffs_base__make_empty_struct();
 }
 
@@ -15859,13 +15824,6 @@
 wuffs_lzw__decoder__set_quirk_enabled(wuffs_lzw__decoder* self,
                                       uint32_t a_quirk,
                                       bool a_enabled) {
-  if (!self) {
-    return wuffs_base__make_empty_struct();
-  }
-  if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
-    return wuffs_base__make_empty_struct();
-  }
-
   return wuffs_base__make_empty_struct();
 }
 
@@ -21160,13 +21118,6 @@
 wuffs_gzip__decoder__set_quirk_enabled(wuffs_gzip__decoder* self,
                                        uint32_t a_quirk,
                                        bool a_enabled) {
-  if (!self) {
-    return wuffs_base__make_empty_struct();
-  }
-  if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
-    return wuffs_base__make_empty_struct();
-  }
-
   return wuffs_base__make_empty_struct();
 }
 
@@ -24006,13 +23957,6 @@
 wuffs_wbmp__decoder__set_quirk_enabled(wuffs_wbmp__decoder* self,
                                        uint32_t a_quirk,
                                        bool a_enabled) {
-  if (!self) {
-    return wuffs_base__make_empty_struct();
-  }
-  if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
-    return wuffs_base__make_empty_struct();
-  }
-
   return wuffs_base__make_empty_struct();
 }
 
@@ -24667,13 +24611,6 @@
 wuffs_wbmp__decoder__set_report_metadata(wuffs_wbmp__decoder* self,
                                          uint32_t a_fourcc,
                                          bool a_report) {
-  if (!self) {
-    return wuffs_base__make_empty_struct();
-  }
-  if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
-    return wuffs_base__make_empty_struct();
-  }
-
   return wuffs_base__make_empty_struct();
 }
 
@@ -24889,13 +24826,6 @@
 wuffs_zlib__decoder__set_quirk_enabled(wuffs_zlib__decoder* self,
                                        uint32_t a_quirk,
                                        bool a_enabled) {
-  if (!self) {
-    return wuffs_base__make_empty_struct();
-  }
-  if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
-    return wuffs_base__make_empty_struct();
-  }
-
   return wuffs_base__make_empty_struct();
 }