should this be `throw new TypeError()`?