Let's see if this route makes sense: create a scheme language level for an expression serializer. In = an expression graph, out = serialized graph. This is a pure scheduling compiler, mainly serving as a front-end to a C-code generator. First: what about names. If there are no scoping issues, it's best to work on symbols instead of identifiers. This seems to be the case.