anchor.diff:  my_split_binary(X, Pos) when byte_size(X) >= Pos ->
       split_binary(X, Pos);
   my_split_binary(_X, _Pos) ->
  -    error('not_enough_data').
  +    throw_error('not_enough_data').
   
   
   -spec parse_field_part/1 :: (
  
positive.code:     % Return the same error as returned by my_split_binary/2 when parsing
      % fields (see below). This way, when there's not enough data for parsing a
      % field, the returned error is the same regardless of where it occured.
      error('not_enough_data').
  
  
  -spec gen_block/1 :: (Data :: iodata()) -> iolist().
  
negative.code:     case parse_opt_field(Code, fun parse_bool/1, L) of
          {'undefined', Rest} -> {false, Rest};
          X = {true, _Rest} -> X;
          {false, _} -> throw_error({'invalid_flag_encoding', Code})
      end.
  
  
  