procedure fig2a()
   local M, P

   M := sconcat(srun(1, 3), srun(3, 1))

   P := sconcat(
      srepeat(1, 4),
      4,
      srepeat(7, 2),
      sruns(10, 19, 3),
      4,
      sruns(22, 37, 3),
      7,
      srepeat(4, 2)
      )

   return splace(M, P)

end

procedure fig2b()
   local M, P

   M := srun(1, 3, 1)

   P := srun(1, 25)

   return scpal(splace(M, P))

end
   
procedure fig2c()
   local M, P

   M := srun(1, 2, 1, 3, 1, 4, 1)

   P := srun(1, 13)

   return splace(M, P)

end
   
procedure fig2d()
   local  U, T, V, W, L

   U := srepeat(srun(9, 10), 38)

   T := srun(8, 5, 8, 1, 4, 1)

   V := srun(8, 1)

   W := srun(1, 4, 1)

   L := sconcat(
      scpal(sconcat(T, V)),
      W
      )

   return scollate(U, L)

end

procedure fig2e()
   local L, U

   U := sdupl(srun(4, 12, 4), 8)

   L := srepeat(sopal(sconcat(1, srun(3,1), 3)), 25)

   return scollate(L, U)

end

procedure fig2f()
   local R, L, U, M

   L := srepeat(1, 11)

   M := sconcat(1, 2)

   U := sscale(
      sconcat(
         srepeat(6, 3),
         7,
         srepeat(6, 2),
         srepeat(4, 5)
         ),
      sbound ! M
      )

   R := scollate(L, U, U)

   return splace(M, srepeat(R, 2))

end