==================== Tidy Core ==================== Result size of Tidy Core = {terms: 110, types: 177, coercions: 0, joins: 0/3} $trModule = Module (TrNameS "main"#) (TrNameS "Test"#) gpio = \ i_amK -> (i_amK, <$> $fFunctor[] (pure $fApplicativeMaybe) i_amK) decodeReq = \ ds_dY6 -> case == $fEqInteger ds_dY6 (IS 0#) of { False -> case == $fEqInteger ds_dY6 (IS 1#) of { False -> fmap $fFunctor[] id; True -> id }; True -> fmap $fFunctor[] (const ()) } ram = fmap $fFunctor[] (pure $fApplicativeMaybe) core = fmap $fFunctor[] (maybe () id) topEntity = letrec { ds_dYh = gpio (decodeReq (IS 1#) req_aWD); ds1_dYi = gpio (decodeReq (IS 2#) req_aWD); req_aWD = $ core (<*> $fApplicative[] (<$> $fFunctor[] (<|> $fAlternativeMaybe) (ram (decodeReq (IS 0#) req_aWD))) (<*> $fApplicative[] (<$> $fFunctor[] (<|> $fAlternativeMaybe) (case ds_dYh of { (outport1_aWz, outResp1_X2) -> outResp1_X2 })) (case ds1_dYi of { (outport2_aWJ, outResp2_X2) -> outResp2_X2 }))); } in <*> $fApplicative[] (<$> $fFunctor[] (\ ds2_dYf ds3_dYg -> (ds2_dYf, ds3_dYg)) (case ds_dYh of { (outport1_aWz, outResp1_X2) -> outport1_aWz })) (case ds1_dYi of { (outport2_aWJ, outResp2_X2) -> outport2_aWJ })