Why not expand_path here instead of having to do it at the caller? Conversely, why expanduser here when we have already run expand_path at the caller?