Improve the documentation for `type_definition<T>` and add a small example. From the review: ``` Can you give examples for type_definition? My guess was that it did the thing which type_name later turned out to do... ``` ##