it's become clear that the ua-parsing is, at least in Python, not case insensitive, and so these are necessary after all