Fix LIR.hs after the last change.
Generalize the Rator data-type.

Rator is now parametric in both the register type and the constant type
as GenRator.  We let Rator be an appropriage specialization of GenRator
to prevent breaking too much code.
Generalized LNode to GenLNode.

Making LNode polymorphic over the register type will allow us to type
the register allocator as `Graph (GenLNode SSAVar) e x ->
Graph (GenLNode Reg)`.