DO NOT MERGE Incremental inliner

**Do not merge this PR yet**, it is obviously in a very rough state.

But now the algorithm should be complete enough that things won't change much anymore, except cleanups. So I'm posting it for the eager interested reader.
Yes and no. In theory the `Transformer` should be able to deal with `Trees`, no matter how they are typechecked. That said, yes, currently it will only happen with `cond == LiteralBoolean(true)`.