Support Generic Declaration