The first error message could be clarified to explicitly say that the undeduced placeholder type is the return type. Proposed change: Reword as: // error: `fn<int>` contains an undeduced placeholder type for its return type.