as we don't want the directory and FilePath dependencies
we will abstract the three calls we need into this record type
Constructors
FindMethodsdoesDirectoryExistDM :: s -> IO BooldoesDirectoryExist from System.Directory
listDirectoryDM :: s -> IO [s]either getDirectoryContents or listDirectory from System.Directory
combineDM :: s -> s -> s/ from System.FilePath