заглянул в решение учителя, где функция построения прямоугольника была реализ...

заглянул в решение учителя, где функция построения прямоугольника была реализована следующим образом. makerectangle = (point1, point2) => pairs.cons(point1, point2); возник вопрос почему так? ведь функция конструктора из двух точек собирает сегмент. я думал что идея реализации данной функции должна была быть следующая: путём построения ещё двух точек( где для третей по х координата 1, а по y 2, для четвёртой- наоборот) тогда с помощью построения 4 сегментов получится прямоугольник. 

можно было бы сделать и так как вы говорите, но обычно прямоугольник на плоскости задается двумя точками (в самом простом случае), это проще реализовать и проще поддерживать.


ведь функция конструктора из двух точек собирает сегмент

cons просто создает пару, а потом можно разные смыслы вкладывать в эту пару: вектор, прямоугольник, окружность и т.д.