Class methods in core.structure should propagate input __class__