Գրեք սա: Generic Programming for Indexed Datatypes