name :: Gen String
name = choose (0, 100) >>= \i -> return (allVars !! i)
    where
      allVars = let vs = "" : [v ++ [s] | v <- vs, s <- ['a'..'z']]
                in tail vs
name :: Gen String
name = choose (0, 100) >>= \i -> return (allVars !! i)
    where
      allVars = let vs = "" : [v ++ [s] | v <- vs, s <- ['a'..'z']]
                in tail vs
name = choose (0, 100) >>= \i -> return (allVars !! i)
    where
      allVars = let vs = "" : [v ++ [s] | v <- vs, s <- ['a'..'z']]
                in tail vs