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