Так ты можешь сделать абсолютно такой же api, просто не пихать всё в одну функцию, а задавать отдельные данные отдельными предусмотренными функциями, о чём и речь. В итоге тебе самому будет проще, не говоря уже о лишних затратах на перебор в твоей универсальной функции всех возможных типов, как уже сказали выше.