I think on replace it makes sense as it is not possible to pass the buf of the replacement into the method because it is not bound to a context yet. You see ?