¿Qué significa el error del compilador de "desajuste de cabeza"?

Intento escribir código para imprimir el carácter Z.

zzzzzzz
     z
    z
   z
  z
 z
zzzzzzz

Pero cuando compilo este código, lanza

D:\erlang\graphics>erlc zeez2.erl
d:/erlang/graphics/zeez2.erl:19: head mismatch
d:/erlang/graphics/zeez2.erl:6: function zeez/3 undefined

No puedo arreglar este error. No encontré lo que estaba mal en mi poder.
¿Alguien por favor me sugiere?
Gracias.

-module(zeez2).
-export([main/0]).

main() ->
    L = 8,
    zeez( false ,1, L). % line 6

zeez(true, M,M) ->
    init:stop();

zeez(false, M, N) ->
    io:format("~p~n", [zeez(z, N-M)] ),
    zeez(M rem N =:= 0, M + 1, N );

zeez(true, M, N) ->
    io:format("~p~n", [zeez(space, N-M)] ), % line 16
    zeez(M rem N =:= 0, M + 1 , N );

zeez(space, M) ->
    io:format("~p~n", ["-" ++ zeez(space, M-1)] );

zeez(space, 0) ->
    "Z";

zeez(z, M) ->
    io:format("~p~n", ["Z" ++ zeez(z, M-1)] );

zeez(z,0) ->
    "Z".

Respuestas a la pregunta(2)

Su respuesta a la pregunta