This needs a comment saying recursive implies dir.