rewrite 'types' sections in language basics and pure mode docs
clean up and clarify new pure mode docs