code: func (p *Package) typeOf(e ast.Expr) types.Type {
  	if T := p.info.TypeOf(e); T != nil {
  		return T
  	}
  	panic(fmt.Sprintf("no type for %T @ %s",
  		e, p.Prog.Fset.Position(e.Pos())))
  }
docs: // Like TypeOf, but panics instead of returning nil.
  // Only valid during p's create and build phases.