Grid Representation in Interpolations.jl

Am I missing something here, or is this a bug?

using Interpolations
xs = 1:10
data = xs.^2
itp1 = interpolate(data, BSpline(Linear()), OnGrid())
itp2 = interpolate(data, BSpline(Linear()), OnCell())
itp1[5]-itp2[5], itp1[5.5] - itp2[5.5]

returns (0.0,0.0)
I expect these two to behave differently. itp1 should place the values on 1, 2, 3... and itp2 should have them on 1.5, 2.5, 3.5.... Since the function isn’t linear, and the interpolation is, there should be some discrepancy between the interpolated values.