Index: src/ResolvExpr/Resolver.cc
===================================================================
--- src/ResolvExpr/Resolver.cc	(revision 33a25f904db2c5a826a55cdb66cfd7d4cc979de3)
+++ src/ResolvExpr/Resolver.cc	(revision 8b11840bc25cf6e5bbf2f00d4d19a1bf1d24e570)
@@ -93,4 +93,9 @@
 		PassVisitor<Resolver> resolver;
 		acceptAll( translationUnit, resolver );
+	}
+
+	void resolveDecl( Declaration * decl, const SymTab::Indexer &indexer ) {
+		PassVisitor<Resolver> resolver( indexer );
+		maybeAccept( decl, resolver );
 	}
 
Index: src/ResolvExpr/Resolver.h
===================================================================
--- src/ResolvExpr/Resolver.h	(revision 33a25f904db2c5a826a55cdb66cfd7d4cc979de3)
+++ src/ResolvExpr/Resolver.h	(revision 8b11840bc25cf6e5bbf2f00d4d19a1bf1d24e570)
@@ -29,4 +29,5 @@
 	/// Checks types and binds syntactic constructs to typed representations
 	void resolve( std::list< Declaration * > translationUnit );
+	void resolveDecl( Declaration *, const SymTab::Indexer &indexer );
 	Expression *resolveInVoidContext( Expression *expr, const SymTab::Indexer &indexer );
 	Expression *findVoidExpression( Expression *untyped, const SymTab::Indexer &indexer );
Index: src/ResolvExpr/TypeEnvironment.cc
===================================================================
--- src/ResolvExpr/TypeEnvironment.cc	(revision 33a25f904db2c5a826a55cdb66cfd7d4cc979de3)
+++ src/ResolvExpr/TypeEnvironment.cc	(revision 8b11840bc25cf6e5bbf2f00d4d19a1bf1d24e570)
@@ -123,13 +123,13 @@
 		for ( std::list< EqvClass >::const_iterator theClass = env.begin(); theClass != env.end(); ++theClass ) {
 			for ( std::set< std::string >::const_iterator theVar = theClass->vars.begin(); theVar != theClass->vars.end(); ++theVar ) {
-///       std::cout << "adding " << *theVar;
+///       std::cerr << "adding " << *theVar;
 				if ( theClass->type ) {
-///         std::cout << " bound to ";
-///         theClass->type->print( std::cout );
-///         std::cout << std::endl;
+///         std::cerr << " bound to ";
+///         theClass->type->print( std::cerr );
+///         std::cerr << std::endl;
 					sub.add( *theVar, theClass->type );
 				} else if ( theVar != theClass->vars.begin() ) {
 					TypeInstType *newTypeInst = new TypeInstType( Type::Qualifiers(), *theClass->vars.begin(), theClass->data.kind == TypeDecl::Ftype );
-///         std::cout << " bound to variable " << *theClass->vars.begin() << std::endl;
+///         std::cerr << " bound to variable " << *theClass->vars.begin() << std::endl;
 					sub.add( *theVar, newTypeInst );
 					delete newTypeInst;
