* Improving error messages when a service fails to resolve. It will now inform you of the service that failed the resolution, and what dependencies it has that caused the error.
* Added support for optional arguments. Now if you have a class such as
python
class HasOptional:
def __init__(self, optional_dependency: Optional[Dependency] = None):
pass
and you request the service `HasOptional` from the collection, it will try to resolve it as `Dependency`. If `Dependency` has not been declared in the collection, it will use `None` instead.