Try adding more delay between the two loadings, e.g., make me press enter, and hope I am not faster than a computer: main = do writeTarget "arg" func0 <- compileTarget putStrLn $ show $ func0 2 getLine writeTarget "arg*2" func1 <- compileTarget putStrLn $ show $ func1 2