repeat over a list of primitives