protocol SomeProtocol {}
funcție test1_1(valoare: SomeProtocol) {}
funcție test1_2(valoare: orice SomeProtocol) {}
funcție test2_1(valoare: some SomeProtocol) {}
funcție test2_2<Valoare: SomeProtocol>(valoare: Valoare) {}
clasă A {
funcție test2_2<Valoare: SomeProtocol>(valoare: Valoare) {
}
}
clasă B: SomeProtocol {
}
A().test2_2(valoare: B())