// stack:    inserts and removes happen at the same end
// insfirst: stack's action happens at the end called "first", "head" or "front"
// remelem:  removes happen via an element-level operation and inserts happen via the api-provided "first"/"head"/"front"

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

#define BOP_INSERT(lst, lastInsIter, item)  BFX_INSERT_FIRST(B_UserItem, lst, (item))
#define BOP_REMOVE(lst, remIter)        BFX_REMOVE_HERE(B_UserItem, lst, remIter)
#define BOP_SWITCH_REMDIR(fwd, rev)         rev

#define BOP_REMPROGEND_IS_REMNO_BASED true
