lets
+ let name
| ` try
|   ` <*>
|     + <*>
|     | + pure (GHC.Types.:)
|     | ` <*>
|     |   + <*>
|     |   | + pure (\x_0 -> \x_1 -> x_0)
|     |   | ` pure 'a'
|     |   ` satisfy ((GHC.Classes.==) 'a')
|     ` <*>
|       + <*>
|       | + pure (GHC.Types.:)
|       | ` <*>
|       |   + <*>
|       |   | + pure (\x_0 -> \x_1 -> x_0)
|       |   | ` pure 'b'
|       |   ` satisfy ((GHC.Classes.==) 'b')
|       ` <*>
|         + <*>
|         | + pure (GHC.Types.:)
|         | ` <*>
|         |   + <*>
|         |   | + pure (\x_0 -> \x_1 -> x_0)
|         |   | ` pure 'c'
|         |   ` satisfy ((GHC.Classes.==) 'c')
|         ` <*>
|           + <*>
|           | + pure (GHC.Types.:)
|           | ` <*>
|           |   + <*>
|           |   | + pure (\x_0 -> \x_1 -> x_0)
|           |   | ` pure 'd'
|           |   ` satisfy ((GHC.Classes.==) 'd')
|           ` pure GHC.Types.[]
` <*>
  + pure GHC.Show.show
  ` <*>
    + <*>
    | + pure (\x_0 -> \x_1 -> x_0)
    | ` <*>
    |   + <*>
    |   | + pure (GHC.Types.:)
    |   | ` ref name
    |   ` chainPre
    |     + <*>
    |     | + pure (GHC.Types.:)
    |     | ` ref name
    |     ` pure GHC.Types.[]
    ` eof