Inputs/Outputs
The functional blocks consist of inputs on their left side and outputs on their right side.
The inputs and outputs can be of a different type - analog, digital, string, whole integer etc. They can be identified by their color. Lite-green means digital, dark-green means analog, blue is whole integer. In one contour can be connected only inputs and outputs from one and the same type. Also, one contour can has many inputs but only one output.

GPIO Conception:
General purpose Input/output. This means that one pin from hardware device can be set as input or output. The I/O mostly are digital but on some devices, some pins can be set as analog inputs.
1. Hardware GPIO. The special is that hardware outputs are positioned on the left side of the block in diagram. Hardware inputs are on right side of the block. The GPIO type of every pin of the device can be set with special interface. A good example is Numato8ChannelUSBGPIOModule block from Numato library. Double click over it to view its properties. Then click over GPIO property and click over "..." button.

A special interface for edit GPIO property will appear.

With double click in cell in column "In/Out" shows a combo box with possible types of the device pin. Regarding producer documentation, the pins IO00, IO01, IO02, IO03, IO06, IO07 can be set as digital input, digital output, analog input, the pins IO04, IO05 can be set only as digital input, digital output, but not as analog input. This is the reason, because a combo box for pins IO04, IO05 to has only possible GPIO types digital input and digital output. Each pin can be hidden by clicking on column "visible." Possible values of the combo box are visible / invisible.
2. Non hardware GPIO. The same approach is used to change the number of inputs or outputs of some blocks. A good example is AndUni block from Digital library.
If the user needs "And" block with only 4 inputs, he can hide some inputs through the interface for editing GPIO. The property name is "Inputs".