Be careful with the data types used, in particular those used in interfaces. For example, “signed” and “unsigned” values are treated differently in many languages (such as C or C++).