úÎè(c) Hanzhong Xu 2016,  MIT License hanzh.xu@gmail.com  experimental  portable Safe!"( is a type representing a state machine. & !"#$%&'()*+,-./0123456 7      !"#$%&'()**+,-./012344567689AFSM_FDK8a8Ot4KSIAchdSGVqZP Control.AFSMSMSMStatenewSMsimpleSMexecexecSMidSM composeSMarrSMfirstSMsecondSM productSMfanoutSMleftSMrightSMsumSMfaninSMloopSM $fArrowLoopSM$fArrowChoiceSM $fArrowSM $fCategory*SMbase Control.Arrowarrfirstapp|||loopleftApp^<<<<^>>^^>>returnA&&&***secondArrow runKleisliKleisli zeroArrow ArrowZero<+> ArrowPlus+++rightleft ArrowChoice ArrowApply ArrowMonad ArrowLoopControl.Category>>><<<