diff --git a/src/hb-algs.hh b/src/hb-algs.hh
index d03906c..9b524c1 100644
--- a/src/hb-algs.hh
+++ b/src/hb-algs.hh
@@ -271,18 +271,6 @@
  * Tiny stuff.
  */
 
-template <typename T> static inline T*
-hb_addressof (const T& arg)
-{
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wcast-align"
-  /* https://en.cppreference.com/w/cpp/memory/addressof */
-  return reinterpret_cast<T*>(
-	   &const_cast<char&>(
-	      reinterpret_cast<const volatile char&>(arg)));
-#pragma GCC diagnostic pop
-}
-
 /* ASCII tag/character handling */
 static inline bool ISALPHA (unsigned char c)
 { return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); }
diff --git a/src/hb-iter.hh b/src/hb-iter.hh
index 5329182..93db59a 100644
--- a/src/hb-iter.hh
+++ b/src/hb-iter.hh
@@ -28,7 +28,6 @@
 #define HB_ITER_HH
 
 #include "hb.hh"
-#include "hb-algs.hh" // for hb_addressof
 #include "hb-meta.hh"
 
 
diff --git a/src/hb-meta.hh b/src/hb-meta.hh
index a9f9df9..b580036 100644
--- a/src/hb-meta.hh
+++ b/src/hb-meta.hh
@@ -31,10 +31,22 @@
 
 
 /*
- * C++ Template Meta-programming.
+ * C++ template meta-programming & fundamentals used with them.
  */
 
 
+template <typename T> static inline T*
+hb_addressof (const T& arg)
+{
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcast-align"
+  /* https://en.cppreference.com/w/cpp/memory/addressof */
+  return reinterpret_cast<T*>(
+	   &const_cast<char&>(
+	      reinterpret_cast<const volatile char&>(arg)));
+#pragma GCC diagnostic pop
+}
+
 template <typename T> static inline T hb_declval ();
 #define hb_declval(T) (hb_declval<T> ())
 
diff --git a/src/hb.hh b/src/hb.hh
index eb941be..a6e3667 100644
--- a/src/hb.hh
+++ b/src/hb.hh
@@ -639,7 +639,7 @@
 #include "hb-atomic.hh"	// Requires: hb-meta
 #include "hb-null.hh"	// Requires: hb-meta
 #include "hb-algs.hh"	// Requires: hb-null
-#include "hb-iter.hh"	// Requires: hb-algs hb-meta
+#include "hb-iter.hh"	// Requires: hb-meta
 #include "hb-debug.hh"	// Requires: hb-algs hb-atomic
 #include "hb-array.hh"	// Requires: hb-algs hb-iter hb-null
 #include "hb-vector.hh"	// Requires: hb-array hb-null
