lets
` <*>
  + pure Term
  ` <*>
    + <*>
    | + pure (\u1 -> (\u2 -> u1))
    | ` <|>
    |   + <|>
    |   | + <*>
    |   | | + <*>
    |   | | | + pure (\u1 -> (\u2 -> u1))
    |   | | | ` pure 'a'
    |   | | ` satisfy
    |   | ` <*>
    |   |   + <*>
    |   |   | + pure (\u1 -> (\u2 -> u1))
    |   |   | ` pure 'b'
    |   |   ` satisfy
    |   ` <*>
    |     + <*>
    |     | + pure (\u1 -> (\u2 -> u1))
    |     | ` pure 'c'
    |     ` satisfy
    ` <*>
      + <*>
      | + pure (\u1 -> (\u2 -> u1))
      | ` pure 'd'
      ` satisfy