IMO this should be parametrized as `trait Converter[T, U]` and have `def convert(obj: T): U`. This will make it easier to write subclasses in Java or Scala and it won't affect anything below because of type erasure (in the worst case it means a bit more ugly code to pass this stuff through, e.g. casting the converter to a `Converter[Any, Any]`).