James C - nuked Pascal-specific IO
James C - cleaned up types, pulled out obj and item
James C - pulled out Proc objs and Head objs