abstractionactionsalgebraalgebraicalwaysarchitectureassociativitybadbetterbookboringbottombuildbulletbusinessclassclojurecodecomecommutativitycomplexitycomposecompositioncomputerconcurrencycreatedatadecisionsdesigndevelopmentdifferencedomaindonevaluationexecutableexistingfindfirstfocusfpframeworkfreefunctionfunctionalfunctionsgeneralitygoodhaskellhigherideaimmutabilityimplementimportantinformationknowlanguagelanguageslayerlazylenslevellikelispmakemakesmakingmeanmodelmodelingmonadsneednilnowobjectonionorderorientationorientedparallelismpatternpitpowerproblemprocessproductprogrammerprogrammersprogrammingpropertiespropertypunningpurerealreallyrecursionreducerefactoringreifyrepresentreusesciencesidesilversmalltalksoftwaresomethingspecificationsstatestaticstratifiedstylesumsystemstartheorythingsthinkthinkingtimetoptotaltypestypinguseusefulusingvaluewaywebwork