In #1355, we are adding a new Barrier implementation SATBBarrier. Unlike the ObjectBarrier, SATBBarrier is a pre-write barrier. Currently there is nothing in the types to distinguish between a pre-write barrier (e.g. SATBBarrier), a post-write barrier, or a write barrier that doesn't really care about whether it is called before or after the field write (e.g. ObjectBarrier).
Is this a problem?
One thing is clear that we need a way to tell the user where to call them, before or after the actual field write.
Related comment: #1355 (comment)