`cfunction` falls back to the slow `evaluate_foreigncall`. It would be good to deal with it in a better way.