add C-Generic-Programming library