code: func (fm functionMap) findOrAdd(ni graph.NodeInfo) (*profile.Function, bool) {
  	fName := fmt.Sprintf("%q%q%q%d", ni.Name, ni.OrigName, ni.File, ni.StartLine)
  
  	if f := fm[fName]; f != nil {
  		return f, false
  	}
  
  	f := &profile.Function{
  		ID:         uint64(len(fm) + 1),
  		Name:       ni.Name,
  		SystemName: ni.OrigName,
  		Filename:   ni.File,
  		StartLine:  int64(ni.StartLine),
  	}
  	fm[fName] = f
  	return f, true
  }
docs: // findOrAdd takes a node representing a function, adds the function
  // represented by the node to the map if the function is not already present,
  // and returns the function the node represents. This also returns a boolean,
  // which is true if the function was added and false otherwise.