Replies take self by value
Refactor reply send method to be type-independent
Replace duplicate reply warning with a simple assertion since `ok` and `reply` can only be called once now