Изучить обобщённые классы и функции. Рассмотреть границы изменения типов, представления и контекста. Рассмотреть ко- и контравариантные позиции.