Here is a quick and dirty implementation that more or less does what you want (I think). The if t would probably need to be replaced by a value that corresponded to an option that indicated that ob-calc should resolve all expressions on the stack. This isn't really an issue of return value, it is due to the fact that ob-calc makes stateful modifications to calc. If you want a stateless (idempotent?) ob-calc block you would need to do something like this as well, and then you would need an option to discard the additional values instead of retruning them as I do here. Best! Tom