code: func HeapInterface(sl interface{}, less interface{}) heap.Interface {
  	ret := &sorter{
  		sl:   addressableSlice(sl),
  		less: reflect.ValueOf(less),
  	}
  	heap.Init(ret)
  	return ret
  }
docs: // Returns a "container/heap".Interface for the provided slice.