This is fun but not too serious crypo. Your wheels have period 16. Give wheel0 9 elements instead of 8 and the period goes to 144=9*16. If the keyword is relatively prime in length, multiply by that length to get the new period. With a long enough plaintext, it's pretty easy to deduce the repetition length and language. From that follows character frequency analysis.
It's also a concern that addition of random elements in a fixed range _reduces_ randomness.
After Compline,
Zaxo
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |