fn List(comptime Head: type, comptime Tail: type) type { return union { const Self = @This(); head: Head, tail: Tail, fn AppendReturnType(comptime item: anytype) type { return List(Head, List(@TypeOf(item), void)); } }; } fn makeList(item: anytype) List(@TypeOf(item), void) { return List(@TypeOf(item), void){ .head = item }; } pub export fn entry() void { @TypeOf(makeList(42)).AppendReturnType(64); } // error // // :18:43: error: value of type 'type' ignored // :18:43: note: all non-void values must be used // :18:43: note: to discard the value, assign it to '_'