From: Gabor Greif
ilist_traits<T> is ilist<T>'s customization +mechanism. iplist<T> (and consequently ilist<T>) +publicly derive from this traits class.
+iplist<T> is ilist<T>'s base and as such supports a slightly narrower interface. Notably, inserters from T& are absent.
+ +ilist_traits<T> is a public base of this class and can be +used for a wide variety of customizations.