anchor.diff:  diamond(Spec) when is_atom(Spec) -> 
   	diamond(atom_to_list(Spec));
   diamond(Spec) ->
  -	ValidSpec = is_valid_spec(Spec),
  +	[IsValidSpec|ValidSpec] = is_valid_spec(Spec),
       if
  -    	ValidSpec ->
  -			Instructions = row_instructions_for(lists:nth(1, io_lib:format("~c", [Spec]))),
  +    	IsValidSpec ->
  +			Instructions = row_instructions_for(ValidSpec),
   			lists:map(fun(Instruction) -> io:format(user, "\n~p", [row_for(Instruction)]) end, Instructions),
   			true;
   		true ->
  
positive.code: stop(_State) ->
      ok.
  
  row_instructions_for(Letter) -> 
  	Alphabet = lists:seq($A,$Z),
  	SubAlphabetEndPos = string:str(Alphabet, Letter),
  	DiamondHalf = lists:sublist(Alphabet, SubAlphabetEndPos),
  	% io:format(user, "\n~p ~p\n", [Letter, DiamondHalf]),
  	lists:append(DiamondHalf, lists:reverse(lists:droplast(DiamondHalf))).
  
negative.code: is_valid_spec(Spec) -> 
  	TrimmedSpec = re:replace(Spec, " ", "", [global, {return, list}]),
  	CleanSpec = re:replace(TrimmedSpec, "[^A-Za-z]", "", [global, {return,list}]),
  	[(CleanSpec =:= TrimmedSpec) and (length(CleanSpec) == 1)|list_to_atom(CleanSpec)].
  
  diamond([Spec|_]) -> 
  	diamond(Spec);
  