なるほど、型情報を含んだインスタンスを渡してやるんですか
wrapper<type-arg>()とか少し冗長な部分もありますが
型を渡してるってのがわかりやすい面もありますね
でも結局func<type-arg>(value-arg)って形式という制約の上で
type-argにデフォルト値を持たせるのはほぼ不可能ってことなんですね
>>763のだと戻り値の記述が制限されますし