Defining function inside a macro

Next challenge… Is it possible to define the function with custom number of args? maybe I would have to mess with the AST?

# @makefn "fn" "hello" :a :b :c
# => fn_hello(a,b,c) = sum([a,b,c])
macro makefn(prefix, name, args...)
    fn = Symbol(prefix * "_" * name)
    argstup = Tuple(args)
    quote
        function $(esc(fn))($(esc(argstup)))
            sum([$(esc(argstup))])
        end
    end
end
syntax: "(Expr(:quote, :a)::Any, Expr(:quote, :b)::Any, Expr(:quote, :c)::Any)" is not a valid function argument name