Use std::begin / std::end instead of sizeof

Thanks to Kevin!
Merge branch 'orc/level3' into orc/level4
Merge branch 'orc/level4' into orc/level5