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
Merge branch 'orc/level5' into orc/level6
Merge branch 'orc/level6' into orc/level7