Start replacing commodity types to use new data structures

(This won't compile, and probably will stay that way for a few commits)