while and foreach and syntax, not functions. grep and map are also, technically, syntax, but they behave like functions. while and foreach do not, so they aren't documented in the same place.
My criteria for good software:
Does it work?
Can someone else come in, make a change, and be reasonably certain no bugs were introduced?