code cleanup:
- _ unused variables, type signatures
- tests and benchmarks refactoring
- generalized heap -> min/max heap