CHN_HEAD
#define CHN_INIT(x, y) SLIST_INIT(CHN_HEAD(x, y))
#define CHN_EMPTY(x, y) SLIST_EMPTY(CHN_HEAD(x, y))
#define CHN_FIRST(x, y) SLIST_FIRST(CHN_HEAD(x, y))
SLIST_FOREACH(x, CHN_HEAD(y, z), CHN_LINK(z))
SLIST_FOREACH_SAFE(w, CHN_HEAD(x, z), CHN_LINK(z), y)
SLIST_INSERT_HEAD(CHN_HEAD(x, z), y, CHN_LINK(z))
SLIST_REMOVE_HEAD(CHN_HEAD(holder, list), CHN_LINK(list)); \