I guess Shapeless is probably an alternative way to do arbitrary arity