Index: libcfa/prelude/builtins.c
===================================================================
--- libcfa/prelude/builtins.c	(revision db19e1d0d4adcc296ca7022c295f441155d4b6dc)
+++ libcfa/prelude/builtins.c	(revision b006c51e840218110835b593a1db552fd116ef58)
@@ -184,4 +184,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 //
