Previously, we saw an increment inc: func [n][n + 1] function . This function takes a n parameter, but no type is specified for n. inc works for numbers (inc 3.14 returns 4.14), but not, for example, for strings, because the + operation is not defined for strings. So when we use inc "abc", it shows the *** Script Error: + does not allow string! for its value1 argument error.
This dynamic typing, which you perhaps know from Python, Ruby, or JavaScript, makes functions very flexible and general, but also vulnerable to these runtime errors.
In Red, typing is optional, which means you can work this way, but you can also indicate an argument's type as shown in the following screenshot:
inc: func [n [integer!]][n + 1]
Here we ...