We should update the docs for register(), which currently say the provider can return null (change `?` to `!`)