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