Will the unevaluated putStrLn “hello” create a space leak for every time Func True is called that will eventually consume all of my memory?
func bool = do if bool
then $ func True
else $ pure ()
putStrLn "hello"