Issue: when doing "run" on a function parameterized by template types,
the tool should automatically create & substitute new basic types
for the parameters.

run model/testtree.als

bash-2.05$ java -classpath c:/alloy2/alloy/bin alloy.RunAlloy models/testtree.als
processing models/testtree.als...
processing ./models/tree.als...
USER : reference to unknown signature models/testtree/_t1
FATAL
	at alloy.transform.SetLeafIdsVisitor.visit(SetLeafIdsVisitor.java:98)
	at alloy.ast.SigExpr.acceptVisitor(SigExpr.java:100)
	at alloy.ast.TreeNode.applyVisitor(TreeNode.java:305)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:22)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:79)
	at alloy.ast.CardinalityExpr.acceptVisitor(CardinalityExpr.java:57)
	at alloy.ast.TreeNode.applyVisitor(TreeNode.java:305)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:22)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:524)
	at alloy.ast.ElemIntFormula.acceptVisitor(ElemIntFormula.java:99)
	at alloy.ast.TreeNode.applyVisitor(TreeNode.java:305)
	at alloy.ast.TreeNode.applyVisitor(TreeNode.java:307)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:22)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:199)
	at alloy.ast.Formulas.acceptVisitor(Formulas.java:43)
	at alloy.ast.TreeNode.applyVisitor(TreeNode.java:305)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:22)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:193)
	at alloy.ast.FormulaSeq.acceptVisitor(FormulaSeq.java:57)
	at alloy.ast.TreeNode.applyVisitor(TreeNode.java:305)
	at alloy.transform.GenCommandFormulasVisitor.applyOptimizationsAndDesugar(GenCommandFormulasVisitor.java:135)
	at alloy.transform.GenCommandFormulasVisitor.genFormulaForPara(GenCommandFormulasVisitor.java:119)
	at alloy.transform.GenCommandFormulasVisitor.visit(GenCommandFormulasVisitor.java:58)
	at alloy.ast.RunCommand.acceptVisitor(RunCommand.java:61)
	at alloy.ast.TreeNode.applyVisitor(TreeNode.java:305)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:22)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:97)
	at alloy.ast.Commands.acceptVisitor(Commands.java:43)
	at alloy.ast.TreeNode.applyVisitor(TreeNode.java:305)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:22)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:265)
	at alloy.ast.Module.acceptVisitor(Module.java:217)
	at alloy.ast.TreeNode.applyVisitor(TreeNode.java:305)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:22)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:271)
	at alloy.ast.Modules.acceptVisitor(Modules.java:51)
	at alloy.ast.TreeNode.applyVisitor(TreeNode.java:305)
	at alloy.ast.ASTDepthFirstVisitor.visit(ASTDepthFirstVisitor.java:22)
	at alloy.transform.GenCommandFormulasVisitor.visit(GenCommandFormulasVisitor.java:46)
	at alloy.ast.Specification.acceptVisitor(Specification.java:78)
	at alloy.ast.TreeNode.applyVisitor(TreeNode.java:305)
	at alloy.RunAlloy.performElaborations(RunAlloy.java:122)
	at alloy.RunAlloy.run(RunAlloy.java:80)
	at alloy.RunAlloy.main(RunAlloy.java:70)
 : null signature id

FATAL ERROR: Please mail the file allstate.dmp to alloy-dev@geyer.lcs.mit.edu to get the problem fixed.


FIX: numerous bugs (see cvs logs of classes), hopefully handled properly