Implement general.abstract.origin; closes #22