-
# The Blissful Elegance of Typing Joy
This notebook presents a simple type inferencer for Joy code. It can infer the stack effect of most Joy expressions. It's built largely by means of existing ideas and research. (A great overview of the existing knowledge is a talk ["Type Inference in Stack-Based Programming Languages"](http://prl.ccs.neu.edu/blog/2017/03/10/type-inference-in-stack-based-programming-languages/) given by Rob Kleffner on or about 2017-03-10 as part of a course on the history of programming languages.)
```python
+
+```
+
+
+```python
+
+```
+
+
+```python
+
+```
+
+
+```python
+
+```
+
+
+```python
+
+```
+
+
+```python
unstack = (S[1], S[0]), S[1]
enstacken = S[0], (S[0], S[1])
```
+
+```python
+
+```
+
## Part VI: Multiple Stack Effects
...
```python
+
+```
+
+
+```python
def meta_compose(F, G):
for f, g in product(F, G):
try: