Changed
- `Provide` & `Supply` will now raise an error if overriding an existing provider from the
same package. This is to prevent accidental overrides. Users can explicitly allow
overrides by specifying the `override` parameter when defining the provider
`Provide(..., override=True)` or `provide(override=True)`.
- Lifecycle startup tasks will now timeout after 15 seconds and raise an error.
- Assembler's `get` method has been renamed to `build`.
- Supply's `type_hint` parameter has been renamed to `as_type`.
Fixed
- `Assembler` would occasionally fail to call all multiproviders due to inconsistent
ordering.