only use top-down inference for EFunction if the return type is not unknown (closes #3513)