error propagation from TypeFunction::semantic