Remove most of the abstractions