Argumentos nombrados opcionales sin envolverlos a todos en "OptionValue"

Supongamos que tengo una función con argumentos con nombre opcionales pero insisto en referirme a los argumentos por sus nombres sin adornos.

Considere esta función que agrega sus dos argumentos con nombre, a y b:

Options[f] = {a->0, b->0};  (* The default values. *)
f[OptionsPattern[]] := 
  OptionValue[a] + OptionValue[b]

¿Cómo puedo escribir una versión de esa función donde esa última línea se reemplaza con simplementea+b? (Imagina que esoa+b es una gran cantidad de código).

Las respuestas a la siguiente pregunta muestran cómo abreviarOptionValue (más fácil decirlo que hacerlo) pero no cómo deshacerse de él por completo:Argumentos nombrados opcionales en Mathematica

Anexo filosófico: Parece que Mathematica va a tener esta magia conOptionsPattern yOptionValue también podría ir hasta el final y tener una construcción de lenguaje para hacer argumentos con nombre correctamente donde pueda referirse a ellos por, ya sabes, sus nombres. Como cualquier otro lenguaje con argumentos nombrados. (Y mientras tanto, tengo curiosidad por saber qué soluciones son posibles ...)