char (CharIterator signature) { char variance; switch (signature.current()) { case '+': case '-': case '*': variance = signature.current(); signature.next(); break; case '.': case '=': signature.next(); // fall through default: variance = '\0'; } return variance; }