-`bigint_result_t bigint_from_int(value)`: creates a big integer from a primitive `int` type;
-`bigint_result_t bigint_from_string(string_num)`: creates a big integer from a C string;
-`bigint_result_t bigint_to_string(number)`: converts a big integer to a C string;
-`bigint_result_t bigint_clone(number)`: clones a big integer;
-`bigint_result_t bigint_compare(x, y)`: compares two big integers, returning either `-1`, `0` or `1` if the first is less than, equal than or greater than the second, respectively;
-`bigint_result_t bigint_add(x, y)`: adds two big integers together in $\mathcal{O}(n)$;
-`bigint_result_t bigint_sub(x, y)`: subtracts two big integers in $\mathcal{O}(n)$;
-`bigint_result_t bigint_prod(x, y)`: multiplies two big integers using Karatsuba's algorithm in $\mathcal{O}(n^{1.585})$;
-`bigint_result_t bigint_divmod(x, y)`: divides two big integers using _Knuth's Algorithm D_ in $\mathcal{O}(n \times m)$ where $n$ and $m$ are the number of base-10^9
parts/limbs in the divisor and the quotient, respectively. This method returns both the quotient and the remainder;
-`bigint_result_t bigint_mod(x, y)`: calls `bigint_divmod`, discards the quotient and yields the remainder;
-`bigint_result_t bigint_destroy(number)`: deletes the big number;
-`bigint_result_t bigint_printf(format, ...)`: `printf` wrapper that introduces the `%B` placeholder to print big numbers. It supports variadic parameters.