| Index: service/datastore/pls_impl.go
 | 
| diff --git a/service/datastore/pls_impl.go b/service/datastore/pls_impl.go
 | 
| index 5f7fe4740d06b5dd585f3444435340cdec8841bd..558b40acc6620e9ceaf2e29a43110e8ab833a645 100644
 | 
| --- a/service/datastore/pls_impl.go
 | 
| +++ b/service/datastore/pls_impl.go
 | 
| @@ -196,7 +196,7 @@ func loadInner(codec *structCodec, structValue reflect.Value, index int, name st
 | 
|  				project = PTGeoPoint
 | 
|  				set = func(x interface{}) { v.Set(reflect.ValueOf(x)) }
 | 
|  			default:
 | 
| -				panic(fmt.Errorf("helper: impossible: %s", typeMismatchReason(p.value, v)))
 | 
| +				panic(fmt.Errorf("helper: impossible: %s", typeMismatchReason(p.Value(), v)))
 | 
|  			}
 | 
|  		case reflect.Slice:
 | 
|  			project = PTBytes
 | 
| @@ -204,12 +204,12 @@ func loadInner(codec *structCodec, structValue reflect.Value, index int, name st
 | 
|  				v.SetBytes(reflect.ValueOf(x).Bytes())
 | 
|  			}
 | 
|  		default:
 | 
| -			panic(fmt.Errorf("helper: impossible: %s", typeMismatchReason(p.value, v)))
 | 
| +			panic(fmt.Errorf("helper: impossible: %s", typeMismatchReason(p.Value(), v)))
 | 
|  		}
 | 
|  
 | 
|  		pVal, err := p.Project(project)
 | 
|  		if err != nil {
 | 
| -			return typeMismatchReason(p.value, v)
 | 
| +			return typeMismatchReason(p.Value(), v)
 | 
|  		}
 | 
|  		if overflow != nil && overflow(pVal) {
 | 
|  			return fmt.Sprintf("value %v overflows struct field of type %v", pVal, v.Type())
 | 
| 
 |