Introduce some type operators for shift2/shift3.

This makes their definition clearer and is closer to what you see in
OchaCaml too.

Signed-off-by: Austin Seipp <mad.one@gmail.com>