-- functionextraction_extract_return_func_lit_7_3 --
package extract

import "go/ast"

func _() {
	ast.Inspect(ast.NewIdent("a"), func(n ast.Node) bool {
		cond0, ret0 := fn0(n)
		if cond0 {
			return ret0
		} //@mark(exEn4, "}")
		return false
	})
	//@extractfunc(exSt4, exEn4)
}

func fn0(n ast.Node) (bool, bool) {
	if n == nil {
		return true, true
	}
	return false, false
}

