Fix function call evaluation, add separate value type