[OT] Improve serialize syntax

For some definition of improvement...
diff --git a/src/hb-open-type-private.hh b/src/hb-open-type-private.hh
index 70a7d9d..6e9ed16 100644
--- a/src/hb-open-type-private.hh
+++ b/src/hb-open-type-private.hh
@@ -600,9 +600,11 @@
     return StructAtOffset<Type> (base, offset);
   }
 
-  inline void set_offset (void *base, void *obj)
+  inline Type& serialize (hb_serialize_context_t *c, void *base)
   {
-    this->set ((char *) obj - (char *) base);
+    Type *t = (Type *) c->head;
+    this->set ((char *) t - (char *) base);
+    return *t;
   }
 
   inline bool sanitize (hb_sanitize_context_t *c, void *base) {