IOC Registrar generic type-constraints now require TTO to derive / implement TTO, this prevents generic-provided bindings to be incorrectly assigned to the wrong types.