Specialize boolean field serializer (#93)
Specialize boolean field serializer (#93)

It was producing a redundant case statement.

  case foo do
    nil -> <<>>
    _ ->
      [<<2, id::size(16)>>, case foo do
        nil   -> <<0>>
        false -> <<0>>
        _     -> <<1>>
      end]
  end

The new output is simpler, both in the number of case statements and in the
structure of the iolist returned.

  case foo do
    nil   -> <<>>
    false -> <<2, id::size(16), 0>>
    _     -> <<2, id::size(16), 1>>
  end
pinterest/elixir-thrift