Better documentation in Core; move ++ type family to TypeLevel