Make 'repeat' run lazily
Needs 'lazy' in the recursive call otherwise it will run forever when
compiled.
Fixes issue #352