Scala invariant generic type parameter ignored by method parameter type depending whether argument is literal expression versus variable