It may also be deliberately ambiguous: the transaction may return a read value or do a mutation and return nothing depending on the state of the object.