Huge update to various parts of the spec. Still not done.