style changes, made many of the comments more precise, corrected incorrect facts about type sizes