code: func ValidateBoolStringPtr() schema.SchemaValidateFunc {
  	return func(i interface{}, k string) (s []string, es []error) {
  		v := i.(string)
  		if v == "" {
  			return
  		}
  		if _, err := strconv.ParseBool(v); err != nil {
  			es = append(es, err)
  		}
  		return
  	}
  }
docs: // ValidateBoolStringPtr validates that the input value can be parsed by
  // ParseBool. It also succeeds on empty strings.
  //
  // This is designed to address the current lack of HCL and Terraform to be able
  // to distinguish between nil states and zero values properly. This is a
  // systemic issue that affects reading, writing, and diffing of these values.
  // These issues will eventually be addressed in HCL2.