add a TotalOrd trait
treemap: reimplement using TotalOrd