Caution - JMP will crash!!!
Names Default To Here( 1 );
f = Function( {},
/* .... */
ID = Associative Array( {{Name Expr(), 1}, {Expr(), 2}, {Function(), 3}}, 0 );<BR />/* .... */
);
f();
removing the function() from the list fixes the error.
Taking the associative array out of the outer function fixes the error.
[edit] a motivation why this can be helpful:
as a lookup table for parts of expressions - identified via Head()and Type():
myID = ID[Expr(function())]; // expected: 3
code = Expr(g = function ({x},1));
Head(Arg(code,2)); // function()
myID = ID[Head(Arg(code,2))]; // expected: 3