funcに返り値があったとして
f = func if func
f["res"]
# or
res = ( func if func )["res"]

またfunc内に引数分岐処理を隠蔽できる可能性を残したとして
func if func的に2度func書くメリットがいまいちわからん