сегфолты и подобная мерзость возникает в том числе из-за плохих абстракций. пример UB в линуксовом ядре: передавали указатель без длины, в итоге в несуществующую память записывались данные. для этого есть Slice99, который _сразу_ поставляется с длиной и в котором можно включить проверки