lets
+ let name
| ` <*>
|   + pure (\x_0 -> GHC.Tuple.())
|   ` chainPost
|     + pure GHC.Tuple.()
|     ` <*>
|       + pure (\x_0 -> \x_1 -> x_1)
|       ` satisfy (\c_0 -> GHC.Classes.not (('<' GHC.Classes.== c_0) GHC.Classes.|| (('>' GHC.Classes.== c_0) GHC.Classes.|| (('+' GHC.Classes.== c_0) GHC.Classes.|| (('-' GHC.Classes.== c_0) GHC.Classes.|| ((',' GHC.Classes.== c_0) GHC.Classes.|| (('.' GHC.Classes.== c_0) GHC.Classes.|| (('[' GHC.Classes.== c_0) GHC.Classes.|| ((']' GHC.Classes.== c_0) GHC.Classes.|| GHC.Types.False)))))))))
+ let name
| ` chainPre
|   + <*>
|   | + <*>
|   | | + pure (\x_0 -> \x_1 -> (GHC.Types.:) x_0)
|   | | ` conditional
|   | |   + condition
|   | |   | ` look
|   | |   |   ` satisfy (\x_0 -> GHC.Types.True)
|   | |   + default
|   | |   | ` failure
|   | |   + branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) '<' x_0)
|   | |   | ` <*>
|   | |   |   + pure (\x_0 -> Parsers.Brainfuck.Types.Backward)
|   | |   |   ` satisfy (\x_0 -> GHC.Types.True)
|   | |   + branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) '>' x_0)
|   | |   | ` <*>
|   | |   |   + pure (\x_0 -> Parsers.Brainfuck.Types.Forward)
|   | |   |   ` satisfy (\x_0 -> GHC.Types.True)
|   | |   + branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) '+' x_0)
|   | |   | ` <*>
|   | |   |   + pure (\x_0 -> Parsers.Brainfuck.Types.Increment)
|   | |   |   ` satisfy (\x_0 -> GHC.Types.True)
|   | |   + branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) '-' x_0)
|   | |   | ` <*>
|   | |   |   + pure (\x_0 -> Parsers.Brainfuck.Types.Decrement)
|   | |   |   ` satisfy (\x_0 -> GHC.Types.True)
|   | |   + branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) ',' x_0)
|   | |   | ` <*>
|   | |   |   + pure (\x_0 -> Parsers.Brainfuck.Types.Input)
|   | |   |   ` satisfy (\x_0 -> GHC.Types.True)
|   | |   + branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) '.' x_0)
|   | |   | ` <*>
|   | |   |   + pure (\x_0 -> Parsers.Brainfuck.Types.Output)
|   | |   |   ` satisfy (\x_0 -> GHC.Types.True)
|   | |   ` branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) '[' x_0)
|   | |     ` <*>
|   | |       + <*>
|   | |       | + <*>
|   | |       | | + <*>
|   | |       | | | + pure (\x_0 -> \x_1 -> \x_2 -> \x_3 -> Parsers.Brainfuck.Types.Loop x_2)
|   | |       | | | ` satisfy (\x_0 -> GHC.Types.True)
|   | |       | | ` ref name
|   | |       | ` rec name
|   | |       ` satisfy ((GHC.Classes.==) ']')
|   | ` ref name
|   ` pure GHC.Types.[]
` <*>
  + <*>
  | + pure (\x_0 -> \x_1 -> GHC.Show.show x_1)
  | ` ref name
  ` ref name