You can do anything in kicad; altium isn't doing anything special to make something possible that's not possible in kicad.
The problem is that it's exceedingly tedious to do in kicad some of the more advanced things that altium and others can do.
Think C vs C++. Nothing C++ does is inherently impossible in C (in terms of observable side effects). For example, RAII is a one liner in C++. In C, it's two lines and some extra thought about control flow. Not impossible, just a bit more mental overhead.
The problem is that it's exceedingly tedious to do in kicad some of the more advanced things that altium and others can do.
Think C vs C++. Nothing C++ does is inherently impossible in C (in terms of observable side effects). For example, RAII is a one liner in C++. In C, it's two lines and some extra thought about control flow. Not impossible, just a bit more mental overhead.