1-- Emulate a quickcheck import; deriveArbitrary works on any type with the 2-- right name and kind 3data Gen a 4 5data Obj 6 = Square Int Int 7 | Circle Int 8 | Polygon [(Int, Int)] 9 | Rotate2 Double Obj 10 | Empty 11 | Full 12 | Complement Obj 13 | UnionR Double [Obj] 14 | DifferenceR Double Obj [Obj] 15 | IntersectR Double [Obj] 16 | Translate Double Double Obj 17 | Scale Double Double Obj 18 | Mirror Double Double Obj 19 | Outset Double Obj 20 | Shell Double Obj 21 | WithRounding Double Obj 22 23 24arbitrary :: Gen Obj 25arbitrary = _ 26 27