Index: libcfa/prelude/builtins.c
===================================================================
--- libcfa/prelude/builtins.c	(revision 62595b317d91621c45c86d153903de6fc99feeeb)
+++ libcfa/prelude/builtins.c	(revision 956b3895add218f5721b1b7727feaa99429d151b)
@@ -185,4 +185,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 //
