Yes, this is rather strange. I was able to make it work using an explicit range. type R = range[0..63] H = set[R] var h: H = {R(1)} Run
For sure, the compiler expects the values in the set literal to be of the "right" type. Apparently, that means here that 1 alone cannot work.