Nice, thanks megane, these are all nice improvements. I've applied the whole lot.
I expanded the commit message for the last patch a bit, since I didn't realise at first that it was fixing both the return type (using forall) and the argument types (changing false to locative). Cheers, Evan