Type instability using interpolation as field of struct

Ok, that is useful to know. In this case, the constructor is also doing the extra work of doing the interpolation. The thing that confuses me is that if I do @code_warntype m.itp(x), that is fine, but f(m,x) is not even when the type information is present in m; I think this is quite similar to the question from Type instability if function inside a struct is run inside another function , and my original solution was an attempt to emulate the accepted solution from that question