Inlining even simple calls such as: ```go _ = astutil.NodeContains(p.File, typeError.Pos) ``` causes literalization due to the need for a binding decl within the function body: ```go _ = func() bool { var n ast.Node = p.File; return n.Pos() <= typeError.Pos && typeError.Pos <= n.End() }() ``` But the name n is not used in the caller block, so it would be fine to melt the call down to: ```go var n ast.Node = p.File _ = n.Pos() <= typeError.Pos && typeError.Pos <= n.End() ``` FWIW, without the `_ = ...` assignment, the inliner does reduce the call: ``` { var n ast.Node = p.File _ = n.Pos() <= typeError.Pos && typeError.Pos <= n.End() } ``` @findleyr