lets
` <*>
  + pure GHC.Show.show
  ` <*>
    + <*>
    | + pure (\x_0 -> \x_1 -> x_0)
    | ` chainPre
    |   + <*>
    |   | + 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')