fn ToUnsigned(comptime T: type) type
fn ToUnsigned(comptime T: type) type { return switch (T) { c_int => c_uint, c_long => c_ulong, c_longlong => c_ulonglong, else => @compileError("Cannot convert `" ++ @typeName(T) ++ "` to unsigned"), }; }