class GenericTuple<T> {
    let parameter: (name: String, value: T)

    init(name: String, value: T) {
        self.parameter = (name: name, value: value)
    }
}

typealias GenericTupleTy = GenericTuple<String>

func main() {
    let tuple = GenericTuple<String>(name: "key", value: "Hello, World!")

    print(tuple.parameter.value)
}
