import 'dart:mirrors'; main() { final t = reflect(null).type; print(t.superinterfaces.contains(t)); } would print true on dart2js. This causes infinite recursion in anything that tries to traverse superinterfaces recursively (e.g. polymer_expression package).