lets
` <*>
  + <*>
  | + pure (\x_0 -> \x_1 -> GHC.Show.show GHC.Tuple.())
  | ` <|>
  |   + try
  |   | ` <*>
  |   |   + <*>
  |   |   | + <*>
  |   |   | | + pure (\x_0 -> \x_1 -> \x_2 -> (GHC.Types.:) 'a' ((GHC.Types.:) 'b' ((GHC.Types.:) 'c' GHC.Types.[])))
  |   |   | | ` satisfy ((GHC.Classes.==) 'a')
  |   |   | ` satisfy ((GHC.Classes.==) 'b')
  |   |   ` satisfy ((GHC.Classes.==) 'c')
  |   ` try
  |     ` pure GHC.Types.[]
  ` try
    ` <*>
      + <*>
      | + <*>
      | | + pure (\x_0 -> \x_1 -> \x_2 -> (GHC.Types.:) 'd' ((GHC.Types.:) 'e' ((GHC.Types.:) 'f' GHC.Types.[])))
      | | ` satisfy ((GHC.Classes.==) 'd')
      | ` satisfy ((GHC.Classes.==) 'e')
      ` satisfy ((GHC.Classes.==) 'f')