I'm trying to pass a type in order to make use of the type information, but that types doesn't appear to be pass through.

I went back to the docs to double check that Dart generics are in fact reified and according to the docs, they are:

[![enter image description here](https://i.stack.imgur.com/9YPJc.png)](https://i.stack.imgur.com/9YPJc.png)

I call hydrate on a response which morphs the content of response object:

```
response.hydrate<BoqVO>();

```

I'm expecting `T` to be of type `BoqVO`:

```
class Response { 
    ...
    void hydrate<T>() {
        print(T.runtimeType); // always prints _Type

        if (T is BoqVO) {
            print("IF");
        } else {
            print("ELSE"); // always goes into ELSE block
        }
    }
    ...
}

```

... but it's not.

Replacing `response.hydrate<BoqVO>();` with `response.hydrate(new BoqVO());` and changing the method signature to 

```
void hydrate(T t) {

```

works if i now use lowercase `t`, but one shouldn't have to instantiate the object in order for reified generics to be available.

Any ideas why Dart is doing this or what i'm missing for reified generics to work correctly?

PS: I'm not on Dart `2` yet, currently on Dart `1.24.3`