pushValue (\u_0 -> \u_1 -> GHC.Show.show GHC.Tuple.())
  minReads=3
  mayRaise=[ExceptionFailure]
  alwaysRaise=[]
  freeRegs=[]
join join
  minReads=3
  mayRaise=[ExceptionFailure]
  alwaysRaise=[]
  freeRegs=[]
| lift2Value (\u_0 -> \u_1 -> u_0 u_1)
|   minReads=3
|   mayRaise=[ExceptionFailure]
|   alwaysRaise=[]
|   freeRegs=[]
| catch ExceptionFailure
|   minReads=3
|   mayRaise=[ExceptionFailure]
|   alwaysRaise=[]
|   freeRegs=[]
| | <catchScope>
| | | pushValue (\u_0 -> \u_1 -> \u_2 -> (GHC.Types.:) 'd' ((GHC.Types.:) 'e' ((GHC.Types.:) 'f' GHC.Types.[])))
| | |   minReads=3
| | |   mayRaise=[ExceptionFailure]
| | |   alwaysRaise=[]
| | |   freeRegs=[]
| | | comment "satisfy ((GHC.Classes.==) 'd')"
| | |   minReads=3
| | |   mayRaise=[ExceptionFailure]
| | |   alwaysRaise=[]
| | |   freeRegs=[]
| | | read ((GHC.Classes.==) 'd')
| | |   minReads=3
| | |   mayRaise=[ExceptionFailure]
| | |   alwaysRaise=[]
| | |   freeRegs=[]
| | | lift2Value (\u_0 -> \u_1 -> u_0 u_1)
| | |   minReads=2
| | |   mayRaise=[ExceptionFailure]
| | |   alwaysRaise=[]
| | |   freeRegs=[]
| | | comment "satisfy ((GHC.Classes.==) 'e')"
| | |   minReads=2
| | |   mayRaise=[ExceptionFailure]
| | |   alwaysRaise=[]
| | |   freeRegs=[]
| | | read ((GHC.Classes.==) 'e')
| | |   minReads=2
| | |   mayRaise=[ExceptionFailure]
| | |   alwaysRaise=[]
| | |   freeRegs=[]
| | | lift2Value (\u_0 -> \u_1 -> u_0 u_1)
| | |   minReads=1
| | |   mayRaise=[ExceptionFailure]
| | |   alwaysRaise=[]
| | |   freeRegs=[]
| | | comment "satisfy ((GHC.Classes.==) 'f')"
| | |   minReads=1
| | |   mayRaise=[ExceptionFailure]
| | |   alwaysRaise=[]
| | |   freeRegs=[]
| | | read ((GHC.Classes.==) 'f')
| | |   minReads=1
| | |   mayRaise=[ExceptionFailure]
| | |   alwaysRaise=[]
| | |   freeRegs=[]
| | | lift2Value (\u_0 -> \u_1 -> u_0 u_1)
| | |   minReads=0
| | |   mayRaise=[]
| | |   alwaysRaise=[]
| | |   freeRegs=[]
| | | commit ExceptionFailure
| | |   minReads=0
| | |   mayRaise=[]
| | |   alwaysRaise=[]
| | |   freeRegs=[]
| | | lift2Value (\u_0 -> \u_1 -> u_0 u_1)
| | |   minReads=0
| | |   mayRaise=[]
| | |   alwaysRaise=[]
| | |   freeRegs=[]
| | | ret
| | |   minReads=0
| | |   mayRaise=[]
| | |   alwaysRaise=[]
| | |   freeRegs=[]
| | <onException ExceptionFailure>
| | | loadInput
| | |   minReads=0
| | |   mayRaise=[ExceptionFailure]
| | |   alwaysRaise=[ExceptionFailure]
| | |   freeRegs=[]
| | | fail []
| | |   minReads=0
| | |   mayRaise=[ExceptionFailure]
| | |   alwaysRaise=[ExceptionFailure]
| | |   freeRegs=[]
catch ExceptionFailure
  minReads=3
  mayRaise=[ExceptionFailure]
  alwaysRaise=[]
  freeRegs=[]
| <catchScope>
| | catch ExceptionFailure
| |   minReads=6
| |   mayRaise=[ExceptionFailure]
| |   alwaysRaise=[]
| |   freeRegs=[]
| | | <catchScope>
| | | | pushValue (\u_0 -> \u_1 -> \u_2 -> (GHC.Types.:) 'a' ((GHC.Types.:) 'b' ((GHC.Types.:) 'c' GHC.Types.[])))
| | | |   minReads=6
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | | comment "satisfy ((GHC.Classes.==) 'a')"
| | | |   minReads=6
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | | read ((GHC.Classes.==) 'a')
| | | |   minReads=6
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | | lift2Value (\u_0 -> \u_1 -> u_0 u_1)
| | | |   minReads=5
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | | comment "satisfy ((GHC.Classes.==) 'b')"
| | | |   minReads=5
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | | read ((GHC.Classes.==) 'b')
| | | |   minReads=5
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | | lift2Value (\u_0 -> \u_1 -> u_0 u_1)
| | | |   minReads=4
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | | comment "satisfy ((GHC.Classes.==) 'c')"
| | | |   minReads=4
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | | read ((GHC.Classes.==) 'c')
| | | |   minReads=4
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | | lift2Value (\u_0 -> \u_1 -> u_0 u_1)
| | | |   minReads=3
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | | commit ExceptionFailure
| | | |   minReads=3
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | | commit ExceptionFailure
| | | |   minReads=3
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | | refJoin join
| | | |   minReads=3
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | <onException ExceptionFailure>
| | | | loadInput
| | | |   minReads=0
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[ExceptionFailure]
| | | |   freeRegs=[]
| | | | fail []
| | | |   minReads=0
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[ExceptionFailure]
| | | |   freeRegs=[]
| <onException ExceptionFailure>
| | comment "raiseAgainIfConsumed"
| |   minReads=3
| |   mayRaise=[ExceptionFailure]
| |   alwaysRaise=[]
| |   freeRegs=[]
| | saveInput
| |   minReads=3
| |   mayRaise=[ExceptionFailure]
| |   alwaysRaise=[]
| |   freeRegs=[]
| | lift2Value ((GHC.Classes.==) @GHC.Types.Int)
| |   minReads=3
| |   mayRaise=[ExceptionFailure]
| |   alwaysRaise=[]
| |   freeRegs=[]
| | choicesBranch
| |   minReads=3
| |   mayRaise=[ExceptionFailure]
| |   alwaysRaise=[]
| |   freeRegs=[]
| | | <branch (\u_0 -> u_0)>
| | | | catch ExceptionFailure
| | | |   minReads=3
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[]
| | | |   freeRegs=[]
| | | | | <catchScope>
| | | | | | pushValue GHC.Types.[]
| | | | | |   minReads=3
| | | | | |   mayRaise=[ExceptionFailure]
| | | | | |   alwaysRaise=[]
| | | | | |   freeRegs=[]
| | | | | | commit ExceptionFailure
| | | | | |   minReads=3
| | | | | |   mayRaise=[ExceptionFailure]
| | | | | |   alwaysRaise=[]
| | | | | |   freeRegs=[]
| | | | | | refJoin join
| | | | | |   minReads=3
| | | | | |   mayRaise=[ExceptionFailure]
| | | | | |   alwaysRaise=[]
| | | | | |   freeRegs=[]
| | | | | <onException ExceptionFailure>
| | | | | | loadInput
| | | | | |   minReads=0
| | | | | |   mayRaise=[ExceptionFailure]
| | | | | |   alwaysRaise=[ExceptionFailure]
| | | | | |   freeRegs=[]
| | | | | | fail []
| | | | | |   minReads=0
| | | | | |   mayRaise=[ExceptionFailure]
| | | | | |   alwaysRaise=[ExceptionFailure]
| | | | | |   freeRegs=[]
| | | <default>
| | | | fail []
| | | |   minReads=0
| | | |   mayRaise=[ExceptionFailure]
| | | |   alwaysRaise=[ExceptionFailure]
| | | |   freeRegs=[]