Use TypedData on ruby 1.9.3 and later.