Concerning the type of ```weight``` I think that arbitrary precision arithmetic is cool but more expensive than floating point arithmetic. Moreover there is no scientific requirement (as far i know) for this.

Furthermore, we are always reading string, converting to float, doing float arithmetic, storing floats. Only in one case (the ```weight```) we store it as a ```numeric``` and of course we (or django, or numpy) have to deal with conversion to float.  Then, I think that in the near future we should change the type of ```weight``` to float just for the sake of consistency and convenience.