I think the current behavior of Base.reshape function is a little strange.
a = zeros(100);
reshape(a, 10, 10) # OK
reshape(a, UInt(10), UInt(10)) # MethodError
reshape(a, (UInt(10), UInt(10))) # OK
reshape(a, Int128(10), Int128(10)) # MethodError
reshape(a, (Int128(10), Int128(10))) # OK
Probably it would be ok if reshape() accepts those parameters in both cases. Or am I missing something?