This was too good to pass up https://youtu.be/xUP3cSKb8sI?t=28m53s (besides, I'd already done this 2.5 years ago, but it wasn't quite complete enough to show anyone).
time = CCall{:time, :libc, Ptr{Void}, Tuple{Ptr{Void},}}()
time(C_NULL)
immutable CCall{Name, Lib, R, A} end
@generated function call{Name,Lib,R,A}(::CFunction{Name,Lib,R,A}, args...)