Some neat stuff, but "speed" could be misleading. you have to be careful.
"stock" to a "define" means you're replacing an optional function declaration with inline code. Stocks are not inlined. This could potentially cause unwanted results. Also, it could actually decrease speed in every possible way - it could generate more code and take longer to parse.
Also, natives are much, much faster than anything else, to the point where it almost doesn't matter how they're implemented. This means that your stocks for replacing clear-cut natives are a huge performance hit, and unless you specifically modified them for different features, I would not use them.
Lastly, replacing fun functions with fakemeta functions is a minor performance hit. The FM natives need to crawl through a list of switch cases whereas fun statements have virtually immediate execution.
So, I'd say these stocks are not useful for anything other than seeing the implementation of things in Small, because the performance hit is too drastic:
engine_to_fm
fun_to_fm
fun_stocks
However, the stock wrapper->define ones are very nice... I'll look into merging these into the next release.
Thanks for some interesting stuff to look at
__________________