Como fazer correspondência de padrões em um binário em Erlang?

Eu gostaria de fazer uma recursão sobre um binário e, em cada chamada, ler até 32 bits do binário e retorná-lo em um novo binário. Mas não consigo fazer com que a correspondência de padrões funcione como eu quero.

binaryToBinary(Source) ->
    binaryToBinaryAux(Source, <<>>).

binaryToBinaryAux(<<>>, Target) ->
    Target;
binaryToBinaryAux(<<H:32/binary, T/binary>>, Target) ->
    binaryToBinaryAux(<<T/binary>>, <<Target/binary, H>>).

Aqui está o erro que recebo para a correspondência de padrões:

10> mymodule:binaryToBinary(<<"JonasPonas">>).
** exception error: no function clause matching
                    mymodule:binaryToBinaryAux(<<"JonasPonas">>,<<>>) 
                                                          (mymodule.erl, line 51)

O que estou fazendo de errado com a correspondência de padrões do binário?

questionAnswers(2)

yourAnswerToTheQuestion