Swift protocol associated type generic July 8, 2019 16 32 64 128 Swift protocol associated type vs generics Generic type swift