diff --git a/src/hb-ot-layout-open-private.h b/src/hb-ot-layout-open-private.h
index 7f0f54d..0c648ef 100644
--- a/src/hb-ot-layout-open-private.h
+++ b/src/hb-ot-layout-open-private.h
@@ -242,11 +242,6 @@
     if (HB_UNLIKELY (!Name)) return Null(Type); \
     return *(const Type*)((const char*)this + Name); \
   }
-#define DEFINE_GET_HAS_ACCESSOR(Type, name, Name) \
-  DEFINE_GET_ACCESSOR (Type, name, Name); \
-  inline bool has_##name (void) const { \
-    return Name != 0; \
-  }
 
 
 
@@ -340,6 +335,21 @@
 /* Offset to a table, same as uint16 (length = 16 bits), Null offset = 0x0000 */
 DEFINE_INT_TYPE_STRUCT (Offset, u, 16);
 
+/* Template subclass of Offset that does the dereferencing.  Use: (this+memberName) */
+template <typename Type>
+struct OffsetTo : Offset {
+  inline const Type& operator() (const void *base) const {
+    unsigned int offset = *this;
+    if (HB_UNLIKELY (!offset)) return Null(Type);
+    return * (const Type *) ((const char *) base + offset);
+  }
+};
+
+template <typename Base, typename Type>
+inline const Type& operator + (const Base &base, OffsetTo<Type> offset) {
+  return offset(base);
+}
+
 
 /* CheckSum */
 struct CheckSum : ULONG {
@@ -572,9 +582,7 @@
     return defaultLangSys != 0;
   }
   inline const LangSys& get_default_lang_sys (void) const {
-    if (HB_UNLIKELY (!defaultLangSys))
-      return Null(LangSys);
-    return *(LangSys*)((const char*)this + defaultLangSys);
+    return this+defaultLangSys;
   }
 
   private:
@@ -582,7 +590,8 @@
   DEFINE_RECORD_ARRAY_TYPE (LangSys, langSysRecord, langSysCount);
 
   private:
-  Offset	defaultLangSys;	/* Offset to DefaultLangSys table--from
+  OffsetTo<LangSys>
+		defaultLangSys;	/* Offset to DefaultLangSys table--from
 				 * beginning of Script table--may be Null */
   USHORT	langSysCount;	/* Number of LangSysRecords for this script--
 				 * excluding the DefaultLangSys */
