// stack:    inserts and removes happen at the same end
// inslast:  stack's action happens at the end called "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, item)   BFX_INSERT_LAST(B_UserItem, lst, (item))

#define BOP_INSERT(lst, lastInsIter, item) BFX_INSERT_AFTER(B_UserItem, lst, (item), lastInsIter)
#define BOP_REMOVE(lst, remIter)       BFX_REMOVE_LAST(B_UserItem, lst)
#define BOP_SWITCH_REMDIR(fwd, rev)         rev
