looks good is it on purpose that the behaviour of always clearing the from/reply_to changed (in the case where there are no addresses to parse at least)?
Yes. That code is to enforce a single-header presence, a good header followed by an empty one should just consider the good one.