Don't cache the main thunk and add test case

I think I never set the `true` (meaning no-cache) in main just because I never realised this case would happen, and clearly nobody noticed. A workaround is to add a dummy arg to `doThing` like `()`, but this is the proper fix.