diff --git a/struct.h b/struct.h
index 57d41f2a7c0282c4318cf02b5442246798bd37b3..81f642f0cece1564cb023e3bd14e800735e87484 100644
--- a/struct.h
+++ b/struct.h
@@ -14,37 +14,46 @@
  */
 
 
-typedef struct declnlist_str *declnlist;
-typedef struct shapelist_str *shapelist;
-typedef struct paramlist_str *paramlist;
-typedef struct printlist_str *printlist;
-typedef struct printitem_str *printitem;
+struct declnlist;
+typedef struct declnlist *declnlist;
+
+struct shapelist;
+typedef struct shapelist *shapelist;
+
+struct paramlist;
+typedef struct paramlist *paramlist;
+
+struct printlist;
+typedef struct printlist *printlist;
+
+struct printitem;
+typedef struct printitem *printitem;
 
 
 #define printitem_is_str 0
 #define printitem_is_num 1
 
-struct printitem_str {
+struct printitem {
 	int	tag;
 	int	num;
 	char	*str;
 };
 
 
-struct printlist_str {
+struct printlist {
 	printlist	next;
 	printitem	item;
 };
 
 
-struct paramlist_str {
+struct paramlist {
         paramlist next;
         char      *type;
         char      *name;
 };
 
 
-struct shapelist_str {
+struct shapelist {
         shapelist next;
         char      *name;
         paramlist params;
@@ -52,7 +61,7 @@ struct shapelist_str {
 };
 
 
-struct declnlist_str {
+struct declnlist {
         declnlist next;
         char      *name;
         shapelist shapes;