- -> (Phase -> IO FilePath) -- how to calculate the output filename
- -> IO (Maybe Phase, -- next phase
- FilePath) -- output filename
+ -> (Phase -> Maybe ModLocation -> IO FilePath)
+ -- how to calculate the output filename
+ -> Maybe ModLocation -- the ModLocation, if we have one
+ -> IO (Maybe Phase, -- next phase
+ Maybe ModLocation, -- the ModLocation, if we have one
+ FilePath) -- output filename