Bitstring and binary

It is both, a quick test shows

a = << 3 >>
IO.puts is_bitstring(a) # => true
IO.puts is_binary(a) # => true

When you write << 3 >>, there is an implicit ::size(8) modifier added. So, << 3 >> is the same as << 3 :: size(8) >> and since the number of bits is divisible by 8, it is a binary and a bitstring