Split function templates into primitives.
Liquid Types invariant inference.
Fix A-normalization
Cleanup
Reduce type annotations.
Can use static invariants in tracing.
Exact inference algorithm.