`class extends null {` is a valid use case, just like Object.create(null).

1) Cannot happen. We keep a reference to the extends expression.
2) Yeah, super is fully static in Traceur. ES6 allows rebinding super using Function.prototype.toMethod but supporting that requires uglier code transformations.