code: func (g *Graph) Scalar() interface{} {
  
  	itf := g.Interface()
  	if itf == nil && g.Out != nil {
  		itf = g.Out[0].This
  	}
  
  	// If it can be parsed as a number, return it.
  	n := number(itf)
  	if n != nil {
  		return n
  	}
  
  	// If it can be parsed as a bool, return it.
  	b, ok := _boolf(itf)
  	if ok {
  		return b
  	}
  
  	// Else return as is.
  	return itf
  }
docs: // Scalar returns the current node content, reducing the number of types
  // following these rules:
  //
  //     uint* -> int64
  //     int*  -> int64
  //     float* -> float64
  //     byte -> int64
  //     rune -> int64
  //     bool -> bool
  //     string, []byte: if it represents an int or float or bool,
  //       convert to int64, float64 or bool
  //
  // Any other type is returned as is.
  //