Add a Missing assertion
Tighten up the rules, you can't query for file existance
Add a monad3 test case
Ninja can implement monad1
make and ninja can implement monad2
shake can implement monad3