pub fn permutohedron_heap<'a, Data, T>(orig: &'a mut Data) -> Heap<'a, Data, T>where Data: 'a + Sized + AsMut<[T]>, T: 'a,