Remodelar um construtor de classe de caso?

Tentando encontrar uma maneira de "remodelar" um construtor de caso para preencher algum valor padrão. É possível o seguinte?

def reshape[T, R1 <: HList, R2 <: HList](h: R1): R2 => T = ???

//example
case class MyClass(a: Double, b: String, c: Int)

val newConstructor = reshape[MyClass]('b ->> "bValue" :: HNil)

newConstructor('a ->> 3.1 :: 'c ->> 4 :: HNil)
res1: MyClass = MyClass(3.1, "bValue", 4)

É possível com informe ou temos que seguir a rota macro?

questionAnswers(1)

yourAnswerToTheQuestion