Current Issues
 - renamed H:Front to Ft:Front (H got too confusing) -fp
 - renamed H:EFVar ctx to K -fp-cs
 - moved normalize into whnf, deleted normalize.{sig,fun}
 - Pattern.etaContract --- either return optional index, or export exception
 - removed tools.fun, tools.sig
 - exported Unify.unifiable -fp
 - removed call to unifyUni in unifyExpW by invariant -fp

Main Future Issues
 - allow non-strict definitions
 - change Trail.trail to type ('a -> 'b) -> ('a -> 'b)
 - collect various forms of eta-expansion (look for "Redex" or "BVar(1)")
 - add context information to EVars and constraint equations -fp
 - optimizations -fp
 - experiment with size counting of trail vs references -fp
 - prevent unnecessary trailing (variables created since last choice point?) -fp

CM/
README
WALK
abstract.fun OK -fp
	     Q: unjustified invariant in collectSub? A: DONE
	     Q: renaming of temporary context H? A: DONE
	     OK -cs
	     Q: piDepend optimization? A: REMARK
	     Q: move piDepend into another module? A: NO
	     Q: better name for Cnstr? A: NO
	     Q: Invariant for closedDec? A: ADDED
abstract.sig OK -fp
	     OK -cs
constraints.fun OK -fp
 		OK -cs
constraints.sig OK -fp 
		OK -cs 
conv.fun  OK -fp
	  OK -cs
	  Q: convExpW eta expands. Why not using whnf.etaexpand? A: POSTPONE
conv.sig  OK -fp
	  OK -cs
intsyn.fun  OK -fp
            OK -cs
intsyn.sig  OK -fp
	    Q: rename constXXX to conXXX? A: LEAVE
	    OK -cs
	    decSub : always builds closure: Introduce DClo, like EClo? A: NO
lambda.sml
normalize.fun  OK -fp
	       Q: there seem to be several notions of normal form,
	          with and without EVars and FVars.  This doesn't
                  seem to be documented. A: DONE
	       Q: incorporate normalize and whnf? A: DONE
	       OK -cs
	       R: nf never called with FVars. A: DONE
	       R: Good idea. Local definition of Invariants ..W, ..N. A: DONE

normalize.sig  OK -fp
	       OK -cs
notrail.fun  Q: is this really the way to go about non-trailing unification? A: YES
	     OK -fp
	     OK -cs
pattern.fun OK -fp
	    OK -cs
pattern.sig OK -fp
	    OK -cs
	    Q: etaContract and Patterns.. rename module? A: NO
sources.cm
tools.fun refuse to walk -fp A: MOVED to TEST
tools.sig refuse to walk -fp A: MOVED to TEST
trail.fun OK -fp
	  OK -cs
trail.sig OK -fp
	  Q: It would make more sense to have
	     trail : ('a -> 'b) -> ('a -> 'b) A: POSTPONE
	  OK -cs
unify.fun A: did some variable renaming for heads
	  OK -fp
	  OK -cs
	  Q: Split module into invert and unify? A: NAH
	  Q: non-strict definitions? A: POSTPONE
	  Q: call eta expansion in unifyExp? A: POSTPONE
unify.sig OK -fp
	  OK -cs
whnf.fun  OK -fp
	  Q: Specification satisfied by whnfEta?  -fp  A: DONE
	  Q: Verify invariant that variables of functional type never carry a constraint!  -fp
	     A: POSTPONED (inserted error message)
	  OK -cs
	  Q: Do not open IntSyn? A: NONE
whnf.sig  OK -fp
	  OK -cs
	
