Index: libcfa/prelude/builtins.c
===================================================================
--- libcfa/prelude/builtins.c	(revision 108b2c75260d5b15cab02e847700d0ca68637ebe)
+++ libcfa/prelude/builtins.c	(revision 3e2e9b2826111caa0283009feb80b9d771e40592)
@@ -160,4 +160,33 @@
 static inline quasi_void ?=?(quasi_void &, quasi_void & _src) { return _src; }
 
+forall( E ) trait Bounded {
+	E lowerBound(void);
+	E upperBound(void);
+};
+
+forall( E | Bounded( E ) ) trait Serial {
+	int fromInstance( E e );
+	E fromInt_unsafe( int i );
+	E succ_unsafe( E e );
+	E pred_unsafe( E e );
+};
+
+forall( E | Serial( E ) ) {
+	E fromInt( int i );
+	E succ( E e );
+	E pred( E e );
+	int Countof( E );
+}
+
+
+forall( E ) trait CfaEnum {
+	const char * label( E e );
+	int posn( E e );
+};
+
+forall( E, V | CfaEnum( E ) ) trait TypedEnum {
+	V value( E e );
+};
+
 // Local Variables: //
 // mode: c //
