Fix #622: (x: Long) << (y: Int) generates invalid code.

(also >>> and >>)
wip