package Ġme . a art ik ov . ses ame . loop Ċ Ċ /** Ċ Ġ* ĠExec utes Ġaction Ġprocessing . Ċ Ġ*/ Ċ interface ĠRed ucer < State T , ĠAction T , ĠEffect T > Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRe ceiv es Ġcurrent Ġstate Ġand Ġan Ġaction , Ġgenerates Ġa Ġ[ Next ]- object . ĊĠĠĠĠ Ġ* ĠCan 't Ġexecute Ġside Ġeffects Ġdirectly . ĠMust Ġbe Ġa Ġpure Ġfunction . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġreduce ( state : ĠState T , Ġaction : ĠAction T ): ĠNext < State T , ĠEffect T > Ċ }