Draw ->
Arg S : GeometricShape, 
    W : Window, X, Y : Integer : +- = 0

Call (
       When S is <
                   Point,
                   Line,
                   Rectangle,
                   Area
                 >
       Return <
                Draw @ PointTools,
                Draw @ LineTools,
                Draw @ RectangleTools,
                Draw @ AreaTools
              >
       Else
       Exit ERR_TYPE
     ) S W X Y

Return