code: func EnforcePtr(obj interface{}) (reflect.Value, error) {
  	v := reflect.ValueOf(obj)
  	if v.Kind() != reflect.Ptr {
  		if v.Kind() == reflect.Invalid {
  			return reflect.Value{}, fmt.Errorf("expected pointer, but got invalid kind")
  		}
  		return reflect.Value{}, fmt.Errorf("expected pointer, but got %v type", v.Type())
  	}
  	if v.IsNil() {
  		return reflect.Value{}, fmt.Errorf("expected pointer, but got nil")
  	}
  	return v.Elem(), nil
  }
docs: // EnforcePtr ensures that obj is a pointer of some sort. Returns a reflect.Value
  // of the dereferenced pointer, ensuring that it is settable/addressable.
  // Returns an error if this is not possible.