Made Chunked more abstract and restructured the module to emphasize the difference between primitives and composite functions