kernel setarg templates don't work on windows :( had to remove and add a bunch of convenience for vecs etc