Model/Record AttributeType documentation?
Problem is: so far as I can tell, nobody's written the book.


That's partly our fault... we've never really documented the Attribute parts of Models and Records.  And it probably won't happen now since the majority of that has been stripped out of the upcoming Craft 3 making it much easier to follow Yii 2 conventions (which happens to be way more documented).


  What is the Name type used for?


In the context of a Record, it's a shortcut for saying you're going to get a varchar datatype set to 255 chars.  In the context of a Model, it'll just enforce the 255 character limit.


  What's the difference between Handle and Slug? Why choose one over the other?


A handle is a varchar(255) that has a few pre-defined reserve words.  id, dateCreated, dateUpdated, uid, title.  Currently used in Craft for defining the handles that things like Asset Sources, Global Sets, Asset Transforms, etc. uses.

There isn't a AttributeType::Slug.


  What exactly does Template do, and why does it need its own type?


It's just a shortcut for a varchar(500), currently used in Craft when defining a template path for Category and Section settings.


  What's the difference between Url and Uri? Is it just the validation?


Semantically, a URL is a subset of a URI: https://danielmiessler.com/study/url-uri/

In the context of Craft, yeah - the only practical difference is the validation.