Continue cleaning up `collections::binary_heap`

Some more tidying up.
For a generic wrap, that seems sound. In this case we're forwarding Vec/Slice. With inlining it should be clear the the second element of the tuple doesn't need to be constructed (and they use the same `len` for both fields so there's no wasted computation).