code: func (a *AttributeDefinition) IsPrimitivePointer(attName string) bool {
  	if !a.Type.IsObject() {
  		panic("checking pointer field on non-object") // bug
  	}
  	att := a.Type.ToObject()[attName]
  	if att == nil {
  		return false
  	}
  	if att.Type.IsPrimitive() {
  		return (!a.IsRequired(attName) && !a.HasDefaultValue(attName) && !a.IsNonZero(attName) && !a.IsInterface(attName)) || a.IsFile(attName)
  	}
  	return false
  }
docs: // IsPrimitivePointer returns true if the field generated for the given attribute should be a
  // pointer to a primitive type. The target attribute must be an object.