Let's look at the limitations listed for value classes and think when they may not be suitable for implicit classes: "must have only a primary constructor with exactly one public, val parameter whose type is not a value class." So if the class you are wrapping is itself a value class, you can't use an implicit class as a wrapper, but you can do this: // wrapped class class Meters(val value: Int) e

