noShrink function for disabling shrinking for a generator

Added this functionality to ranged(), don't wanna shrink that
Fixed lots of stuff, too much for one commit (sorry)