lets
+ let name
| ` <*>
|   + <*>
|   | + <*>
|   | | + pure (\u_0 -> \u_1 -> u_0)
|   | | ` pure (\u_0 -> u_0)
|   | ` chainPost
|   |   + pure GHC.Tuple.()
|   |   ` <*>
|   |     + <*>
|   |     | + pure (\u_0 -> \u_1 -> \u_2 -> u_0 u_2 u_1)
|   |     | ` pure (\u_0 -> \u_1 -> u_0)
|   |     ` 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)))))))))
|   ` pure GHC.Tuple.()
+ let name
| ` chainPre
|   + <*>
|   | + pure (GHC.Types.:)
|   | ` <*>
|   |   + <*>
|   |   | + pure (\u_0 -> \u_1 -> u_0)
|   |   | ` conditional
|   |   |   + condition
|   |   |   | ` look
|   |   |   |   ` satisfy (\u_0 -> GHC.Types.True)
|   |   |   + default
|   |   |   | ` failure
|   |   |   + branch (\x_0 -> (GHC.Classes.==) '<' x_0)
|   |   |   | ` <*>
|   |   |   |   + <*>
|   |   |   |   | + pure (\u_0 -> \u_1 -> u_0)
|   |   |   |   | ` pure Parsers.Brainfuck.Types.Backward
|   |   |   |   ` satisfy (\u_0 -> GHC.Types.True)
|   |   |   + branch (\x_0 -> (GHC.Classes.==) '>' x_0)
|   |   |   | ` <*>
|   |   |   |   + <*>
|   |   |   |   | + pure (\u_0 -> \u_1 -> u_0)
|   |   |   |   | ` pure Parsers.Brainfuck.Types.Forward
|   |   |   |   ` satisfy (\u_0 -> GHC.Types.True)
|   |   |   + branch (\x_0 -> (GHC.Classes.==) '+' x_0)
|   |   |   | ` <*>
|   |   |   |   + <*>
|   |   |   |   | + pure (\u_0 -> \u_1 -> u_0)
|   |   |   |   | ` pure Parsers.Brainfuck.Types.Increment
|   |   |   |   ` satisfy (\u_0 -> GHC.Types.True)
|   |   |   + branch (\x_0 -> (GHC.Classes.==) '-' x_0)
|   |   |   | ` <*>
|   |   |   |   + <*>
|   |   |   |   | + pure (\u_0 -> \u_1 -> u_0)
|   |   |   |   | ` pure Parsers.Brainfuck.Types.Decrement
|   |   |   |   ` satisfy (\u_0 -> GHC.Types.True)
|   |   |   + branch (\x_0 -> (GHC.Classes.==) ',' x_0)
|   |   |   | ` <*>
|   |   |   |   + <*>
|   |   |   |   | + pure (\u_0 -> \u_1 -> u_0)
|   |   |   |   | ` pure Parsers.Brainfuck.Types.Input
|   |   |   |   ` satisfy (\u_0 -> GHC.Types.True)
|   |   |   + branch (\x_0 -> (GHC.Classes.==) '.' x_0)
|   |   |   | ` <*>
|   |   |   |   + <*>
|   |   |   |   | + pure (\u_0 -> \u_1 -> u_0)
|   |   |   |   | ` pure Parsers.Brainfuck.Types.Output
|   |   |   |   ` satisfy (\u_0 -> GHC.Types.True)
|   |   |   ` branch (\x_0 -> (GHC.Classes.==) '[' x_0)
|   |   |     ` <*>
|   |   |       + <*>
|   |   |       | + pure (\u_0 -> \u_1 -> u_0)
|   |   |       | ` <*>
|   |   |       |   + <*>
|   |   |       |   | + <*>
|   |   |       |   | | + pure (\u_0 -> \u_1 -> u_0)
|   |   |       |   | | ` pure (\u_0 -> u_0)
|   |   |       |   | ` <*>
|   |   |       |   |   + <*>
|   |   |       |   |   | + pure (\u_0 -> \u_1 -> u_0)
|   |   |       |   |   | ` satisfy (\u_0 -> GHC.Types.True)
|   |   |       |   |   ` ref name
|   |   |       |   ` <*>
|   |   |       |     + pure Parsers.Brainfuck.Types.Loop
|   |   |       |     ` rec name
|   |   |       ` <*>
|   |   |         + <*>
|   |   |         | + pure (\u_0 -> \u_1 -> u_0)
|   |   |         | ` pure ']'
|   |   |         ` satisfy ((GHC.Classes.==) ']')
|   |   ` ref name
|   ` pure GHC.Types.[]
` <*>
  + pure GHC.Show.show
  ` <*>
    + <*>
    | + <*>
    | | + pure (\u_0 -> \u_1 -> u_0)
    | | ` pure (\u_0 -> u_0)
    | ` ref name
    ` ref name