add segment constructor, selectors and midpoint-segment
add rectangle constructor, selectors, perimeter and area
an alternative procedural representation of pairs
add procedure representation of product 2^a * 3^b