as

@showAsInfix
final class as[+T, U](dummy: T) extends AnyVal

Actually, there is no boxing. This class is even not instantiated.

It's used only because of type widening: shapeless T with Tag[U] approach works bad with From

Original idea by Miles Sabin, see: https://gist.github.com/milessabin/89c9b47a91017973a35f

class AnyVal
trait Matchable
class Any