What is the point of separating `Write` and `WriteLike`?