"<*>\n+ <*>\n| + pure (\\u1 -> (\\u2 -> u1 Term))\n| ` <|>\n| + <*>\n| | + <*>\n| | | + pure (\\u1 -> (\\u2 -> (\\u3 -> 'a' : u2 u3)))\n| | | ` satisfy\n| | ` rec \n| ` pure (\\u1 -> u1)\n` satisfy\n"