     decode_bin(binary)
   end
   def typed_decoder(<<con, value_bin :: binary>>, %Type{class: :composite} = t) do
-    {size, count, values} = case con do
+    {_size, count, values} = case con do
       0xc0 ->
         <<s, c, vs :: binary>> = value_bin
         {s, c, vs}

    type = TypeManager.type_spec(f.type)
    Logger.debug "field type = #{inspect type}"
    Logger.debug "Constructor = #{Integer.to_string(con, 16)}"

    is_array = f.multiple
    {value, rest} = case con do
      x when x in [0xe0, 0xf0] and is_array -> decode_bin(field_bin)
      x when not is_array -> decode_bin(<<con>>, value)
      # array and not a multiple crashes, non-array and multiple also!
    end
  end


    do: <<0xb1, byte_size(bin) :: size(32)>> <> bin


  def parse(<<0x4 :: size(4), type :: size(4), _rest :: binary>>) do
    [decode(<<0x4::size(4), type>>)]
  end

