Map by Class in Dart
===

I am porting some Java-code to Dart and it heavily uses these kinds of maps:

    Map<? extends SomeClass, SomeOtherClass> map = new HashMap<>();

At the moment this seems to be impossible in dart. I am aware that there is a proposal to introduce first level types: http://news.dartlang.org/2012/06/proposal-for-first-class-types-in-dart.html which would introduce

    class Type {
        @native String toString();
        String descriptor(){...} // return the simple name of the type
    }

So until this proposal gets implemented I have created following class:

    class Type {
        final String classname;
        const Type(this.classname);
        String descriptor() => classname;
    }

and the classes where I need it have a simple get-method

    abstract Type get type();

That way I can use my `Type` just like I would use the real `Type` and to switch later I'd just have to delete my workaround.

My question: Is there some dart-way of doing this kind of mapping (which I am not seeing) or is the way I do it a reasonable workaround until the real `Type` class gets introduced?