with :: Builder -> Args
with b = isSpecified b ? do
    top  <- expr topDirectory
    path <- getBuilderPath b
    expr $ needBuilder b
    arg $ withBuilderKey b ++ unifyPath (top </> path)
with :: Builder -> Args
with b = isSpecified b ? do
    top  <- expr topDirectory
    path <- getBuilderPath b
    expr $ needBuilder b
    arg $ withBuilderKey b ++ unifyPath (top </> path)
with b = isSpecified b ? do
    top  <- expr topDirectory
    path <- getBuilderPath b
    expr $ needBuilder b
    arg $ withBuilderKey b ++ unifyPath (top </> path)