Minor update. This transaction model needs to be implemented as a set of type classes.