<*> + <*> | + pure cons | ` def | ` try | ` <*> | + <*> | | + pure cons | | ` <*> | | + <*> | | | + pure (\u1 -> (\u2 -> u1)) | | | ` pure 'a' | | ` satisfy | ` <*> | + <*> | | + pure cons | | ` <*> | | + <*> | | | + pure (\u1 -> (\u2 -> u1)) | | | ` pure 'b' | | ` satisfy | ` <*> | + <*> | | + pure cons | | ` <*> | | + <*> | | | + pure (\u1 -> (\u2 -> u1)) | | | ` pure 'c' | | ` satisfy | ` <*> | + <*> | | + pure cons | | ` <*> | | + <*> | | | + pure (\u1 -> (\u2 -> u1)) | | | ` pure 'd' | | ` satisfy | ` pure Term ` <*> + def | ` <|> | + <*> | | + <*> | | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3)))) | | | ` <*> | | | + pure cons | | | ` ref | | ` rec | ` pure (\u1 -> u1) ` pure Term