When a circuit operation invokes a gate , the Ko values passed to the gate are “integrated” into the type structure expected by the Go gate implementation.
Integration performs automatic safe type conversions over basic types (among others). For instance a 16-bit signed integer will be converted to a 32-bit signed integer, if necessary, but not to any unsigned one or a narrow type.
For cases where such conversions need to be forced by the programmer,
the language provides the macros
All of these macros converts its monadic (unnamed) argument to the required type, using the same conversion semantics as the Go language.