Ah yes, now this is about the size a library of this nature should be.
Although, I see lots of flaws in this method versus Deaod's. Firstly, you are dynamically creating timers for use in your code, which is a thing of the past. You should probably use a flavor of TimerUtils for this library, as it will remove that unnecessary and silly step.
Additionally, this doesn't allow effects to be created after an X second delay from when the function is called. I think that is a useful quantity to have access to in a library such as this.
Finally, I think the mode for calling the code is not as effective as it should be. I recommend the following function form --
call UnitAddTimedEffect("Some_File_Path.mdx", X, Y, DELAY, DURATION)
call UnitAddTimedEffectTarget("Some_File_Path.mdx", SOMEUNIT, DELAY, DURATION)
I think that would be the optimal manner by which to code it for it to fit into jass' syntax structure most effectively.