Мне часто нужно извлекать, чтобы ограничить списки значений подсписками, то есть, если vals дает значения vars={x1,x2,x3,x4}, и мне нужны значения svars={x2,x4}, я делаю restrict[list,vars,svars] где
restrict[vars_, svars_, vals_] := 
 Extract[vals, Flatten[Position[vars, #] & /@ svars, 1]]
Я хотел бы улучшить читабельность кода, возможно, определив следующие пользовательские обозначения для restrict[vars,svars,vals]

(источник: yaroslavvb.com) 
Мои вопросы
- Какой хороший способ реализовать это?
- Это хорошая идея в целом?

