refactoring axle.{ml,lx} to use MetricSpace wherever possible