diff --git a/base.h b/base.h
index 299e9ac..0766c0d 100644
--- a/base.h
+++ b/base.h
@@ -81,8 +81,6 @@ typedef ssize_t Isz;
 typedef char Glyph;
 typedef U8 Mark;
 
-typedef struct Field Field;
-
 ORCA_FORCE_STATIC_INLINE Usz orca_round_up_power2(Usz x) {
   assert(x <= SIZE_MAX / 2 + 1);
   x -= 1;
diff --git a/field.h b/field.h
index 60341e7..8790ebb 100644
--- a/field.h
+++ b/field.h
@@ -6,11 +6,11 @@
 // for loading/saving from files and doing common operations that a UI layer
 // might want to do. Not used by the VM.
 
-struct Field {
+typedef struct {
   Glyph* buffer;
   U16 height;
   U16 width;
-};
+} Field;
 
 void field_init(Field* field);
 void field_init_fill(Field* field, Usz height, Usz width, Glyph fill_char);