Language Interpreter and Model Producer (LIMP): the abstracting abstract machines machine for abstract machines.