Implement Item#replaceWith(item)

Closes #454