def _resolve_class(self, clazz: Any) -> object:
        """
        Constructs an instance based on the function annotations on an object's
        __init__ method
        :argument clazz the class to instantiate
        :return the instantiated class
        """
        arguments = {}
        if hasattr(clazz.__init__, '__annotations__'):
            annotations = clazz.__init__.__annotations__
            for name, type_hint in annotations.items():
                if name != 'return':
                    arguments[name] = self.resolve(type_hint)
        return clazz(**arguments)
Constructs an instance based on the function annotations on an object's
        __init__ method
        :argument clazz the class to instantiate
        :return the instantiated class