lets
` <*>
  + pure GHC.Show.show
  ` <*>
    + <*>
    | + pure (\u_0 -> \u_1 -> u_0)
    | ` chainPre
    |   + <*>
    |   | + pure (GHC.Types.:)
    |   | ` satisfy (\t_0 -> ('a' GHC.Classes.== t_0) GHC.Classes.|| (('b' GHC.Classes.== t_0) GHC.Classes.|| (('c' GHC.Classes.== t_0) GHC.Classes.|| (('d' GHC.Classes.== t_0) GHC.Classes.|| GHC.Types.False))))
    |   ` pure GHC.Types.[]
    ` eof