Lab 2: 1) define a piece of compound data to represent desks, which are a kind of office furniture. A desk has a width, a height, and a depth. 2) develop the 'furniture-footprint' function that consumes a desk and returns its footprint---that is, how much floor space it takes up. Write test cases first. 3) extend the definition of office furniture to include Bookshelves. A bookshelf has a depth, a number of shelves, and a shelf-width. 4) extend test-cases and definition of of the furniture-footprint function so that it handles bookshelves, as well as desks. 5) Define the AE language we described in class. 6) Develop the evaluation method we described in class. 7) Develop the method num-nums, that accepts an AE and returns a number indicating how many numbers it contains. 8) Develop the method num-adds, that accepts an AE and returns the number of additions it contains. 9) Develop the method swap-adds, that accepts an AE and returns a new AE where the left and right terms of every addition are swapped.