diff --git a/src/hammer.c b/src/hammer.c
index 92e493026633ae79fc4cfdf551023b3ec57d70ca..6084da40518fb7f229848587b30b4cf06169ac48 100644
--- a/src/hammer.c
+++ b/src/hammer.c
@@ -43,40 +43,6 @@ typedef struct {
   const HParser *p2;
 } HTwoParsers;
 
-/*
- * For parser used when extracting name and params for backend by name
- * TODO: move to its own file? 
- * (tried to move it to hammer.h but no luck compiling - what did I do wrong?)
- */
-
-enum BackendTokenType_ {
-	TT_backend_with_params_t = TT_USER,
-	TT_backend_name_t,
-	TT_backend_param_t,
-	TT_backend_params_t
-};
-
-typedef struct backend_param {
-	size_t len;
-	uint8_t *param;
-} backend_param_t;
-
-typedef struct {
-	uint8_t *name;
-	size_t len;
-} backend_name_t;
-
-typedef struct backend_params {
-	backend_param_t *params;
-	size_t len;
-} backend_params_t;
-
-typedef struct backend_with_params {
-	backend_name_t name;
-	backend_params_t params;
-} backend_with_params_t;
-
-
 /* Backend-related inquiries */
 
 int h_is_backend_available(HParserBackend backend) {
diff --git a/src/hammer.h b/src/hammer.h
index be112c3a09761f0015e5f2c204e6bb832c622490..8faf9c7ad7fafe417524b3214c269d309cb06392 100644
--- a/src/hammer.h
+++ b/src/hammer.h
@@ -200,6 +200,39 @@ typedef bool (*HPredicate)(HParseResult *p, void* user_data);
  */
 typedef HParser* (*HContinuation)(HAllocator *mm__, const HParsedToken *x, void *env);
 
+/*
+ * For parser used when extracting name and params for backend by name
+ * TODO: possibly move to its own file?
+ */
+
+enum BackendTokenType_ {
+	TT_backend_with_params_t = TT_USER,
+	TT_backend_name_t,
+	TT_backend_param_t,
+	TT_backend_params_t
+};
+
+typedef struct backend_param {
+	size_t len;
+	uint8_t *param;
+} backend_param_t;
+
+typedef struct {
+	uint8_t *name;
+	size_t len;
+} backend_name_t;
+
+typedef struct backend_params {
+	backend_param_t *params;
+	size_t len;
+} backend_params_t;
+
+typedef struct backend_with_params {
+	backend_name_t name;
+	backend_params_t params;
+} backend_with_params_t;
+
+
 // {{{ Stuff for benchmarking
 typedef struct HParserTestcase_ {
   unsigned char* input;