// queue:    inserts and removes happen at opposite ends
// insfirst: elements flow from "first," "head" or "front", to "last", "tail" or "back"
// inselem:  inserts happen via an element-level operation and removes happen via the api-provided "last"/"tail"/"back"

#define BOP_INIT(lst, iters, insNo, item)    BFX_INSERT_FIRST(B_UserItem, lst, (item))

#define BOP_INSERT(lst, iters, insNo, item)  BFX_INSERT_BEFORE(B_UserItem, lst, (item), iters[(insNo)-1])
#define BOP_REMOVE(lst, iters, remNo)        BFX_REMOVE_LAST(B_UserItem, lst)
