confused intersection and difference
make array index strict
inline [].toList
print pattern variables nice/nicer
fix some codegen bugs
reorganize inlining