Reorganize types to inherit from single Type type
Reorganize types to inherit from single Type type

Also, reduce dangerous references to AVal.types

marijnh/tern,jgiles/tern,jgiles/tern,eranif/tern,messfairy/tern,cdosborn/tern,mcanthony/tern,cloud9ide/tern,vegansk/tern,othree/tern,othree/tern,eranif/tern,dorellang/tern,sqs/tern,anandthakker/tern,inafact/tern,rustemferreira/tern,rustemferreira/tern,adrianton3/tern,Icenium/tern,talyian/tern,emacsmirror/tern,ternjs/tern,jgiles/tern,ryanstewart/tern,angelozerr/tern,kentdoppelganger/tern,neoclide/tern,angelozerr/tern,ehd/tern,albertinad/tern,emallson/tern,neoclide/tern,OliverJAsh/tern,eranif/tern,ypresto/tern,mcanthony/tern,fileability/tern,talyian/tern,nmalaguti/tern,magnars/tern,albertinad/tern,ternjs/tern,messfairy/tern,nico/tern,adrianton3/tern,ternjs/tern,warpr/tern,mcanthony/tern,MarcelGerber/tern,jeffslofish/tern,emallson/tern,othree/tern,messfairy/tern,dorellang/tern,jason0x43/tern,Icenium/tern,MarcelGerber/tern,pombredanne/tern,cdosborn/tern,anandthakker/tern,talyian/tern,adrianton3/tern,cloud9ide/tern,rustemferreira/tern,purcell/tern,emacsmirror/tern,fileability/tern,emacsmirror/tern,sergeche/tern,kylehg/tern,hanshuebner/tern,MarcelGerber/tern,dorellang/tern,marijnh/tern,cdosborn/tern,aklt/tern,marijnh/tern,emallson/tern,anandthakker/tern,neoclide/tern,forivall/tern,albertinad/tern,fileability/tern,Icenium/tern