Middleend

Add an (almost) untyped middle-end.