adding mapEither
ignore conflicting substitutions
crash on intersecting substitutions
pass an argument to top
give - + same precedence
minor tweak
reverting to old catSubst, see code comments...
merging in from subst branch
Merge pull request #29 from ucsd-progsys/op_precedence

give operators - and + same precedence
nanojs tests pass after precedence update
unused code for safeMkSubst