More documentation, slightly stricter types.
Merge bug26000 into stable again
stable to default