Scalqa employs its original Package-Oriented Programming (POP) for program structuring. Without understanding the concepts,
looking into the source code could be very frustrating
Given Object-Oriented Programming (OOP),
if object is not trivial, it can become a Package Type,
occupying specially designated package and defined in many different files
From usage prospective Package Type is not different from a regular object.
More over, objects can be promoted to Package Types later, and the move should not break any existing code
There are two reasons why an object should become a package type: