12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061openStdinttypeuint64=Uint64.ttypet=uint64letadd=Uint64.addletsub=Uint64.subletmul=Uint64.mulletdiv=Uint64.divletrem=Uint64.remletlogand=Uint64.logandletlogor=Uint64.logorletlogxor=Uint64.logxorletlognot=Uint64.lognotletshift_left=Uint64.shift_leftletshift_right=Uint64.shift_rightletof_int=Uint64.of_intletto_int=Uint64.to_intletof_int32=Uint64.of_int32letto_int32=Uint64.to_int32letof_int64=Uint64.of_int64letto_int64=Uint64.to_int64letof_nativeint=Uint64.of_nativeintletto_nativeint=Uint64.to_nativeintletof_float=Uint64.of_floatletto_float=Uint64.to_floatletbits_of_float=Uint64.of_float(* This may cause issues *)letfloat_of_bits=Uint64.to_float(* This may cause issues *)letzero=Uint64.zeroletone=Uint64.oneletsucc=Uint64.succletpred=Uint64.predletmax_int=Uint64.max_intletmin_int=Uint64.min_intmoduleConv=Uint.Str_conv.Make(structtypet=uint64letname="Uint64"letfmt="UL"letzero=zeroletmax_int=max_intletbits=64letof_int=of_intletto_int=to_intletadd=addletmul=mulletdivmod=(funxy->divxy,remxy)end)letof_string=Conv.of_stringletto_string=Conv.to_stringletto_string_bin=Conv.to_string_binletto_string_oct=Conv.to_string_octletto_string_hex=Conv.to_string_hexletprinter=Conv.printerletprinter_bin=Conv.printer_binletprinter_oct=Conv.printer_octletprinter_hex=Conv.printer_hexletcompare=Stdlib.compare