Support generic types