I reworded this slightly from what was done in C++, such that I can completely stand behind what it says.