Seems weird to use size_t. It's not *wrong*, but the actual value is int. Also, Not sure it warrants using `:`, when most of these are exact matches. The only one that isn't is `ElementType!(dstring)`.

I think `==` and the exact type is better. EG:
```D
unittest
{
    //Standard arrays: returns the type of the elements of the array
    static assert(is(ElementType!(byte[]) == byte));
    static assert(is(ElementType!(int[]) == int));

    // accessing .front retrieves the decoded dchar
    static assert(is(ElementType!(char[])  == dchar)); //rvalue
    static assert(is(ElementType!(wchar[]) == dchar)); //rvalue
    static assert(is(ElementType!(dchar[]) == dchar)); //lvalue

    // ditto
    static assert(is(ElementType!(string) == dchar));
    static assert(is(ElementType!(wstring) == dchar));
    static assert(is(ElementType!(dstring) == immutable(dchar)));

    //Range. Returns the type of front.
    auto range = iota(0, 10);
    static assert(is(ElementType!(typeof(range)) == int));
}