"fun" fact: the authors of OCaml Bigarray have decided that while 8-bit and 16-bit integers can be either signed or unsigned, 32-bit and 64-bit integers are always signed. Sigh. I'm going to love hating that OCaml as much as I love hating Common Lisp.
I suppose part of the rationale is "the underlying OCaml compiler itself only knows about signed Int32 (and now Int64)", so it's easy to handle subtypes like UInt16, but more work to handle not-quite-a-subtype like UInt64, and nobody's paying us for that extra work.
Read my blog!