Primo: make data extraction slightly more general

Well, actually about that, I'm not sure that the itemType logic above is necessary given the PNX above (it also doesn't work in its given state). Same with language