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