Paul said it was written to run fast but was very hard for humans to read, 'spaghetti code' typical of that time period. I recall we could change the text for notices to users but only with exactly the same number of characters, like patching a binary now, as if it would have been too big a job to make it print a different number of bytes. Third generation was much smaller black terminals that could read barcodes and holepunches. These also wrote to tapes in 406 using the same cables. Data was still updated only in one batch run per night.
Circulation is just a piece of the pie.
This was a two-pronged effort. Although this has absolutely nothing to do with computing, I thought I might insert a favorite story from my student library assistant days here. Every so often the Library declares an amnesty on overdue books, when fines are forgiven and no questions asked.