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

#define BOP_TEARDOWN(lst, iters, remNo)     BFX_REMOVE_FIRST(B_UserItem, lst)

#define BOP_INSERT(lst, iters, insNo, item) BFX_INSERT_LAST(B_UserItem, lst, (item))
#define BOP_REMOVE(lst, iters, remNo)       BFX_REMOVE_HERE(B_UserItem, lst, iters[(remNo)])
