Initial import from ARC2 -- https://github.com/semsol/arc2