* You know your requirements, so design to that. If you need more than high(int64), then use bignum or .... * The int type is different on different systems, so for your case, don't define anything as int. Use specific int sized types like int32 or int64 (or bignum, or ...) so that both ends are consistent. That will have speed implications (especially if you need bignum) * The point is valid that you must have some protocol to talk client/server, and it will define the type/size of the binary data you send/receive. Each end either converts or uses that data as is. * As I understand it, float is consistent across 32/64 bit platforms (maybe someone else can clarify that further).
> And it's way simpler to just use uint64 for IDs, than to implement some > complicated ID-reusing system. Nim defaults to using `int` rather than `uint` (change of mindset from C), so you should really be using `int64` rather than `uint64`. You can of course use uint64, but if so, there are specific uint operators for this (not doing this will add even more potential problems).