split up lambda func generation vs C source generation