code: func Get(p interface{}, d ...interface{}) interface{} {
  	var (
  		val interface{}
  		ok  bool
  	)
  
  	if val, ok = GetOk(p); ok {
  		return val
  	}
  
  	if len(d) > 0 {
  		return d[0]
  	}
  
  	return val
  }
docs: // Convenience functions to simplify dereference of datatype properties
  // Get returns the value of p, either p itself, or, if p is a pointer, the
  // value that p points to. d is an optional default value to be returned
  // in the event that p is nil. If d is not specified, and p is nil, a
  // type-appropriate zero-value is returned instead.