by the way, I think that is also true for Ord. You should be able to implement only lt, like
```
impl Ord for HNode {
    fn lt(&self, other: &HNode) -> bool {
        self.weight > other.weight
    }
}
```