Как я понимаю, для того, чтобы вам в общем случае отмапить один контейнер в себя же. Вам надо из этого контейнера вытащить итератор - один метод, и создать новый контейнер с заданными элементами - другой метод. Я что-то не так понимаю?
Короче, надо как-то тут найти вот этот самый extension interface с двумя методами. Это можно сделать двумя способами: по типу или по скоупу. По типу он байндится по месту декларации. По скоупу в месте применения.