Dart: extends generic class with restrictions
<p>Is this the correct way to declare a "generic class" that extends another "generic class" in dart? Note that the generic parameter has a type restriction.</p>

<pre><code>// available types
class BaseType {}
class DerivedType extends BaseType {}

class BaseClass&lt;Type extends BaseType&gt; {
  final Type prop;
  BaseClass(this.prop) {
    // can be either BaseType or DerivedType
    print(prop);
  }
}

class DerivedClass&lt;Type extends BaseType&gt; extends BaseClass&lt;BaseType&gt; {
  DerivedClass(BaseType prop) : super(prop);
}
</code></pre>

<p>The above code works, but I'm not sure if I am using the correct syntax.</p>