applications.collages.collageAlgebra:
{
  ntColour = const(.8),
  
  square = { filledPolygon((-10,0), (0,-10), (10,0), (0,10)) },
  S-outline = { polygon((-10,0),(0,-10), (10,0), (0,10)) },
  S-filled = { filledPolygon((-10,0),(0,-10), (10,0), (0,10))[#ntColour,#ntColour,#ntColour] },
  S-arrow = { filledPolygon((-10,0),(-8,1),(-9,2)) },
  S = #S-filled + #S-outline + #S-arrow,
  S1 = #S,
  S2 = #S,
  S3 = #S,
  S4 = #S,
  S5 = #S,
  S6 = #S,
  S7 = #S,
  S8 = #S,
  S9 = #S,
  T-outline = { polygon((-10,0),(-8.5,-1.5), (1,-1.5), (1,1.5), (-8.5,1.5), (-10,0)) },
  T-filled = { filledPolygon((-10,0),(-8.5,-1.5), (1,-1.5), (1,1.5), (-8.5,1.5), (-10,0))[#ntColour,#ntColour,#ntColour] },
  T-arrow = { filledPolygon((-10,0),(-9,.5),(-9.5,1)) },
  T = #T-filled + #T-outline + #T-arrow,
  
  i1 = similarity((-10,0) -> (-1,-1.5), (10,0) -> (1,1.5)),
  i2 = scale(1.2) . translate(15,15) . similarity((-10,0) -> (0,10), (0,-10) -> (10,0)) . use(i1),
    
  sp = similarity((-10,0) -> (-10,0), (1,1.5) -> (-1,-1.5)),
  sp = < i1, i2, sp >,
  
  2sp = use(sp) . rotate(180),
  2sp = < i1, 2sp, sp>
  
    
  }
