Index: src/examples/array.c
===================================================================
--- src/examples/array.c	(revision 90c3b1c9b36943edd6040aac93c3da9265b218a4)
+++ src/examples/array.c	(revision 36ebd0388f8605c4fa18c69839c9a014c84e8fa2)
@@ -10,11 +10,11 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:10:13 2015
-// Update Count     : 2
+// Last Modified On : Wed Mar  2 18:13:52 2016
+// Update Count     : 3
 //
 
 #include "array.h"
 
-/// forall( type array_type, elt_type | bounded_array( array_type, elt_type ) )
+/// forall( otype array_type, elt_type | bounded_array( array_type, elt_type ) )
 /// [ array_iterator begin, array_iterator end ]
 /// get_iterators( array_type array )
@@ -25,5 +25,5 @@
 
 // The first element is always at index 0.
-forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
+forall( otype array_type, otype elt_type | bounded_array( array_type, elt_type ) )
 elt_type * begin( array_type array ) {
 	return &array[ 0 ];
@@ -31,5 +31,5 @@
 
 // The end iterator should point one past the last element.
-forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
+forall( otype array_type, otype elt_type | bounded_array( array_type, elt_type ) )
 elt_type * end( array_type array ) {
 	return &array[ last( array ) ] + 1;
Index: src/examples/array.h
===================================================================
--- src/examples/array.h	(revision 90c3b1c9b36943edd6040aac93c3da9265b218a4)
+++ src/examples/array.h	(revision 36ebd0388f8605c4fa18c69839c9a014c84e8fa2)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jan 26 17:09:29 2016
-// Update Count     : 3
+// Last Modified On : Wed Mar  2 18:13:35 2016
+// Update Count     : 5
 //
 
@@ -21,10 +21,10 @@
 // An array has contiguous elements accessible in any order using integer indicies. The first
 // element has index 0.
-context array( type array_type, type elt_type ) {
+trait array( otype array_type, otype elt_type ) {
 	lvalue elt_type ?[?]( array_type, int );
 };
 
 // A bounded array is an array that carries its maximum index with it.
-context bounded_array( type array_type, type elt_type | array( array_type, elt_type ) ) {
+trait bounded_array( otype array_type, otype elt_type | array( array_type, elt_type ) ) {
 	int last( array_type );
 };
@@ -34,5 +34,5 @@
 typedef int array_iterator;
 
-/// forall( type array_type, elt_type | bounded_array( array_type, elt_type ) )
+/// forall( otype array_type, elt_type | bounded_array( array_type, elt_type ) )
 /// [ array_iterator begin, array_iterator end ] get_iterators( array_type );
 
@@ -40,8 +40,8 @@
 // A bounded array can be iterated over by using a pointer to the element type. These functions
 // return iterators corresponding to the first element and the one-past-the-end element, STL-style.
-forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
+forall( otype array_type, otype elt_type | bounded_array( array_type, elt_type ) )
 elt_type *begin( array_type );
 
-forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
+forall( otype array_type, otype elt_type | bounded_array( array_type, elt_type ) )
 elt_type *end( array_type );
 
Index: src/examples/ctxts.c
===================================================================
--- src/examples/ctxts.c	(revision 90c3b1c9b36943edd6040aac93c3da9265b218a4)
+++ src/examples/ctxts.c	(revision 36ebd0388f8605c4fa18c69839c9a014c84e8fa2)
@@ -10,13 +10,13 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:11:19 2015
-// Update Count     : 2
+// Last Modified On : Wed Mar  2 18:10:21 2016
+// Update Count     : 3
 //
 
-context has_f( type T ) {
+trait has_f( type T ) {
 	T f( T );
 };
 
-context has_g( type U | has_f( U ) ) {
+trait has_g( type U | has_f( U ) ) {
 	U g( U );
 };
Index: src/examples/index.h
===================================================================
--- src/examples/index.h	(revision 90c3b1c9b36943edd6040aac93c3da9265b218a4)
+++ src/examples/index.h	(revision 36ebd0388f8605c4fa18c69839c9a014c84e8fa2)
@@ -10,9 +10,9 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:17:31 2015
-// Update Count     : 1
+// Last Modified On : Wed Mar  2 18:10:46 2016
+// Update Count     : 2
 //
 
-context index( type T ) {
+trait index( type T ) {
 	T ?+?( T, T );
 	T ?-?( T, T );
Index: src/examples/it_out.c
===================================================================
--- src/examples/it_out.c	(revision 90c3b1c9b36943edd6040aac93c3da9265b218a4)
+++ src/examples/it_out.c	(revision 36ebd0388f8605c4fa18c69839c9a014c84e8fa2)
@@ -10,16 +10,16 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:41:23 2015
-// Update Count     : 4
+// Last Modified On : Wed Mar  2 18:11:00 2016
+// Update Count     : 5
 //
 
 typedef unsigned long streamsize_type;
 
-context ostream( dtype os_type ) {
+trait ostream( dtype os_type ) {
 	os_type *write( os_type *, const char *, streamsize_type );
 	int fail( os_type * );
 };
 
-context writeable( type T ) {
+trait writeable( type T ) {
 	forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, T );
 };
@@ -29,5 +29,5 @@
 forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, const char * );
 
-context istream( dtype is_type ) {
+trait istream( dtype is_type ) {
 	is_type *read( is_type *, char *, streamsize_type );
 	is_type *unread( is_type *, char );
@@ -36,5 +36,5 @@
 };
 
-context readable( type T ) {
+trait readable( type T ) {
 	forall( dtype is_type | istream( is_type ) ) is_type * ?<<?( is_type *, T );
 };
@@ -43,5 +43,5 @@
 forall( dtype is_type | istream( is_type ) ) is_type * ?>>?( is_type *, int* );
 
-context iterator( type iterator_type, type elt_type ) {
+trait iterator( type iterator_type, type elt_type ) {
 	iterator_type ?++( iterator_type* );
 	iterator_type ++?( iterator_type* );
Index: src/examples/prolog.c
===================================================================
--- src/examples/prolog.c	(revision 90c3b1c9b36943edd6040aac93c3da9265b218a4)
+++ src/examples/prolog.c	(revision 36ebd0388f8605c4fa18c69839c9a014c84e8fa2)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:25:52 2015
-// Update Count     : 1
+// Last Modified On : Wed Mar  2 18:11:18 2016
+// Update Count     : 2
 //
 
@@ -25,9 +25,9 @@
 void is_integer( int x ) {}
 
-context ArithmeticType( type T ) {
+trait ArithmeticType( type T ) {
 	void is_arithmetic( T );
 };
 
-context IntegralType( type T | ArithmeticType( T ) ) {
+trait IntegralType( type T | ArithmeticType( T ) ) {
 	void is_integer( T );
 };
Index: src/examples/sum.c
===================================================================
--- src/examples/sum.c	(revision 90c3b1c9b36943edd6040aac93c3da9265b218a4)
+++ src/examples/sum.c	(revision 36ebd0388f8605c4fa18c69839c9a014c84e8fa2)
@@ -10,11 +10,11 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Mar  2 14:31:45 2016
-// Update Count     : 193
+// Last Modified On : Wed Mar  2 18:12:01 2016
+// Update Count     : 194
 //
 
 #include <fstream>
 
-context sumable( type T ) {
+trait sumable( type T ) {
 	const T 0;
 	T ?+?( T, T );
