generic types 3842863