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