WIP. Only multi-argument functions don't work now.