First of all, reading sources and seeing `proc twoForOneBackConcept(a:
Countable): Countable` one understands the procedure's signature, what the
procedure takes and what it returns, oppositely to just using `[T]`, which is,
int this aspect, almost like in dynamically typed languages: all one can know
in this example, that the procedure takes one argument and its result is of the
same type. In general case one cannot even deduce easily that the type should
support `inc` and `dec` by analyzing the procedure's body - the argument can be
just passed to another procedure without invoking `inc` or `dec`. So the point
is, that concepts make generic code more organized and comprehensible, and
better (more near to the source of problem) error messages are rather an
additional bonus.