anchor.diff:  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)].
  +	{(CleanSpec =:= TrimmedSpec) and (length(CleanSpec) == 1), list_to_atom(CleanSpec)}.
   
   diamond() 							-> handle_invalid_spec().
   diamond([]) 						-> handle_invalid_spec();
  
positive.code: diamond(Spec) when is_atom(Spec) 	-> diamond(atom_to_list(Spec));
  diamond(Spec) 						-> process_spec(is_valid_spec(Spec)).
  
  process_spec([false|_]) 		-> handle_invalid_spec();
  process_spec([true|ValidSpec]) 	->
  	Instructions = row_instructions_for(ValidSpec),
  	lists:map(fun(Instruction) -> io:format(user, "\n~p", [row_for(Instruction)]) end, Instructions),
  	true.
  
negative.code: ].
  
  status_after_spec_validation(Spec) ->
  	{SpecStatus, _} = is_valid_spec(Spec),
  	SpecStatus.
  
  valid_spec_test_() -> [
  