more symbolic file positions via smart replacement of ISABELLE_HOME -- allows Isabelle distribution to be moved later on;
structure ROOT = 
struct
structure Codegen = 
struct
fun lookup ((k, v) :: xs) l =
  (if ((k : string) = l) then SOME v else lookup xs l)
  | lookup [] l = NONE;
end; (*struct Codegen*)
end; (*struct ROOT*)