+) new core structure type is introduced
+) no need to user defined next pointer anymore
+) adding the same element into list is allowed
+) add_to_##name##_list function returns an integer instead of pointer
+) unnecessary header declarator macro parameters are removed
+) merge_##name##_lists function behavior is changed