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:     find_fields(Code, T, Accu, [H | Rest]).
  
  
  -spec throw_error/1 :: (any()) -> no_return().
  
  throw_error(X) ->
      throw({'piqirun_error', X}).
  
  
  