optimized ~extern and @extern to @ functions
and removed option over function pointers