Provide a typescript foundational architecture for pure functional and data oriented programming with the goal of improving the development speed, maintainability, testability, comprehensability and performance of software.
We focus strongly on "separation of concerns" with small immutable data oriented interfaces separating components.
Related code should be grouped together for high cohension, but isolated by concise interfaces from other components for low coupling.
High Cohesion. Low Coupling.