Swift as a protocol-oriented programming language