with-env to use struct:environment directly if given one (fixes partial bugs)
allow slashes in partial paths