Convert send/recv to return viewtype either.

This means we can finally drop free_boxed entirely.