That's a great!

Could it be further improved by wrapping the return in a try/catch ? The code would be future proof and need not to be modified when dart2js finally supports `isSubtypeOf`. However this is not very important and I'm not sure if it would throw an `UnimplementedError` ?