If `location` isn't a `Location`, wouldn't you want to convert it, so that you can manipulate the revision, rather than just ignoring the revision?