If you have createState() return a State subclass that extends State with the wrong widget type, you trip: `assert(_state._debugTypesAreRight(widget));` ...in StatefulElement's constructor. We should make that prettier.