getLocalFile :: FilePath -> FilePath -> IO File
getLocalFile basePath fullPath = do
    modificationTime <- getModificationTime fullPath
    let relativePath = makeRelative basePath fullPath
    return $ File (Path relativePath) modificationTime
getLocalFile :: FilePath -> FilePath -> IO File
getLocalFile basePath fullPath = do
    modificationTime <- getModificationTime fullPath
    let relativePath = makeRelative basePath fullPath
    return $ File (Path relativePath) modificationTime
getLocalFile basePath fullPath = do
    modificationTime <- getModificationTime fullPath
    let relativePath = makeRelative basePath fullPath
    return $ File (Path relativePath) modificationTime