Separate the description of the IR from the transformations performed on it by moving type declarations from linearize.ml into their own file, called linear.ml.