import Foundation struct Person: Codable { let id: Int let name: String let email: String let active: Bool init(id: Int, name: String, email: String, active: Bool = true) { self.id = id self.name = name self.email = email self.active = active } } class Repository { private var items: [Int: T] = [:] func add(key: Int, item: T) { items[key] = item } func find(key: Int) -> T? { return items[key] } func getAll() -> [T] { return Array(items.values) } } func add(_ a: Int, _ b: Int) -> Int { return a + b } enum Result { case success(T) case failure(Error) } let repo = Repository() repo.add(key: 1, item: Person(id: 1, name: "Alice", email: "alice@example.com")) repo.add(key: 2, item: Person(id: 2, name: "Bob", email: "bob@example.com")) for person in repo.getAll() { print("\(person.name) <\(person.email)>") } print("3 + 4 = \(add(3, 4))")