Context.assert and TypeScript with strict null check
I'm using Koa with Typescript in strict mode, that is, TS compiler has `strict: true`, which includes strict null check.

Said so, I have routes defined like this:
```ts
async function signIn (ctx: Context) {
  // ... not interesting code

  // this line uses Typeorm, which returns a User instance or undefined (User | undefined)
  const user = await User.findOne({ email }, { select: [ 'password' ] })
  ctx.assert(user, 401)

  // here TS complains about user possibly being undefined
  const isValid = await argon2.verify(user.password, password)
}
```

Basically, TS doesn't understand that the `ctx.assert` call throws in case `user` is undefined, so it's perfectly safe to use it. To fix this compilation issue, I'm obliged to add `if (!user) return` after `ctx.assert` just to assure TS about the undefined check.

Do you have any idea how to solve this?