Make k_smallest work with just `alloc`
-use std::collections::BinaryHeap;
-use std::cmp::Ord;
+use alloc::collections::BinaryHeap;
+use core::cmp::Ord;
pub(crate) fn k_smallest<T: Ord, I: Iterator<Item = T>>(mut iter: I, k: usize) -> BinaryHeap<T> {
if k == 0 { return BinaryHeap::new(); }
