It would add tremendous expense. In their current form it is as cheap as integer bit arithmetic (except that as value classes the constants aren't folded at compile time - this is a weakness which should be addressed.) But a varargs method would mean a) boxing b) wrapping it up in an array c) wrapping the array in a seq d) the fold closure ...
```
final class Mode(val bits: Int) extends AnyVal {
  def or1(other: Mode) = new Mode(bits | other.bits)
  def or2(other: Mode, others: Mode*) = this or1 other or1 others.foldLeft(Mode.m)(_ or1 _)
}

object Mode {
  def m: Mode = ???
  def f1 = m or1 (m or1 m or1 m)
  //  0: aload_0
  //  1: aload_0
  //  2: invokevirtual #27                 // Method m:()I
  //  5: aload_0
  //  6: aload_0
  //  7: aload_0
  //  8: invokevirtual #27                 // Method m:()I
  // 11: aload_0
  // 12: invokevirtual #27                 // Method m:()I
  // 15: invokevirtual #31                 // Method or1$extension:(II)I
  // 18: aload_0
  // 19: invokevirtual #27                 // Method m:()I
  // 22: invokevirtual #31                 // Method or1$extension:(II)I
  // 25: invokevirtual #31                 // Method or1$extension:(II)I
  // 28: ireturn
  def f2 = m.or2(m, m, m)
  //  0: aload_0
  //  1: aload_0
  //  2: invokevirtual #27                 // Method m:()I
  //  5: aload_0
  //  6: invokevirtual #27                 // Method m:()I
  //  9: getstatic     #19                 // Field scala/Predef$.MODULE$:Lscala/Predef$;
  // 12: iconst_2
  // 13: anewarray     #34                 // class Mode
  // 16: dup
  // 17: iconst_0
  // 18: new           #34                 // class Mode
  // 21: dup
  // 22: aload_0
  // 23: invokevirtual #27                 // Method m:()I
  // 26: invokespecial #37                 // Method Mode."<init>":(I)V
  // 29: aastore
  // 30: dup
  // 31: iconst_1
  // 32: new           #34                 // class Mode
  // 35: dup
  // 36: aload_0
  // 37: invokevirtual #27                 // Method m:()I
  // 40: invokespecial #37                 // Method Mode."<init>":(I)V
  // 43: aastore
  // 44: invokevirtual #43                 // Method scala/LowPriorityImplicits.genericWrapArray:(Ljava/lang/Object;)Lscala/collection/mutable/WrappedArray;
  // 47: invokevirtual #47                 // Method or2$extension:(IILscala/collection/Seq;)I
  // 50: ireturn
}
```