Unless otherwise indicated, all member function names below are unofficial. (Only the class name is official.)