Also, RectangleD was turned into a proper positional record, so that it's easier to create implementations of new methods like Union (because such implementations can be based on RectangleI's) and use them when appropriate (for example, CairoExtensions contains the UnionRectangles method, which could presumably be easily removed if RectangleD had a Union method).
For the compilation to work, I had to modify several call sites, and several small improvements were made in the files touched by that change.
Also,
RectangleD
was turned into a proper positional record, so that it's easier to create implementations of new methods likeUnion
(because such implementations can be based onRectangleI
's) and use them when appropriate (for example,CairoExtensions
contains theUnionRectangles
method, which could presumably be easily removed ifRectangleD
had aUnion
method).For the compilation to work, I had to modify several call sites, and several small improvements were made in the files touched by that change.