I thought about returning a function object, but that might loop. only other comment is to choose whether to do ", " or "," based on compress