shift literal parsing out of generator