This should work as expected, for example:
(Integer. 1N)
Probably for BigInt, BigInteger, and BigDecimal.
Method to look at is c.l.Reflector.paramArgTypeMatch, per Rich in irc.
I'm afraid I don't have any particular insight into the issues involved at this point. I ran into the problem originally noted a while back, and opened the ticket at Rich's suggestion. I'm sorry if the text of the ticket led anyone down unfruitful paths…
The issues relating to bitshift are moot since the decision was made that bit-shifts are only for 32/64 bit values.
Still a valid issue, but de-prioritized as per Rich.
Modified version of original patch
Alex, would you mind attaching it with a unique file name? I know that JIRA lets us create multiple attachments with the same file name, and I know we can tell them apart by date and the account of the person who uploaded the attachment, but giving them the same name only seems to invite confusion.
Renamed updated patch to unique name