Aspects of Language Design for Combinatorial Computing | Synapse