Please docuemnt all these tyedefs