anchor.diff:  
   generate_test(F = #{description := Desc, cases := Cases}) ->
       rewrap(lists:flatten(lists:map(fun generate_test/1, Cases)), {[], []});
  -generate_test(#{description := Desc, expected := Exp, property := Prop, input := Z}) when is_number(Exp) ->
  +generate_test(#{description := Desc, expected := Exp, property := Prop, input := #{z := Z}}) when is_number(Exp) ->
       TestName = tgen:to_test_name(Desc),
       Property = binary_to_list(Prop),
   
  
positive.code:                     tgs:call_fun("complex_numbers:new", lists:map(fun tgs:value/1, Cplx))]))])]),
  
      {ok, Fn, [{Property, ["Z"]}]};
  generate_test(#{description := Desc, expected := Exp, property := Prop, input := Z}) ->
      TestName = tgen:to_test_name(Desc),
      Property = binary_to_list(Prop),
  
  
negative.code:     rewrap(Tail, {[Fn|Fns], Props ++ AccProps}).
  
  to_num(N) when is_number(N) -> N;
  to_num(<<"ln(2)">>) -> math:log(2);
  to_num(<<"pi">>) -> math:pi();
  to_num(<<"e">>) -> math:exp(1).
  