Added rationale for visitor/interpreter