Add generic type constructors