Generalize the interpreter function