Does it really need that "terra" keyword? You could use the type annotation to differentiate:
-- lua function
function foo(a,b)
...
end
-- terra function
function foo(a:int, b:int)
...
end