Add modulus operator and some more crazy type juggle