add support for flattening recursive-let