anchor.diff:        end
     end,
     kapok_env:pop_scope(TEnv3#{function => Function}).
  +
  +%% namespace
  +build_namespace(Namespace, Env, Callback) ->
  +  Functions = namespace_export_functions(Namespace),
  +  Macros = namespace_export_macros(Namespace),
  +  Defs = namespace_defs(Namespace),
  +  build_module(Namespace, Functions, Macros, Defs, Env, Callback).
   
   %% module
   
  
positive.code: handle_ns(Meta, Name, Clauses, Env) ->
    handle_ns(Meta, Name, Clauses, <<"">>, Env).
  handle_ns(Meta, Name, Clauses, _Doc, Env) ->
    E = case ?m(Env, namespace) of
          nil -> Env#{namespace => Name};
          NS -> kapok_error:form_error(Meta, ?m(Env, file), ?MODULE, {multiple_namespace, {NS, Name}})
        end,
    case ets:info(kapok_namespaces) of
      undefined -> init_namespace_table();
      _ -> ok
    end,
    add_namespace(Name),
    {_, TEnv} = lists:mapfoldl(fun handle_namespace_clause/2, E, Clauses),
    TEnv.
  
  handle_namespace_clause({list, _, [{identifier, _, 'require'} | T]}, Env) ->
    handle_require_clause(T, Env);
  
negative.code:                      end,
                       Env,
                       Ast),
    build_namespace(?m(TEnv, namespace), TEnv, Callback).
  
  handle_ast({list, Meta, [{identifier, _, ns}, {identifier, _, Id}, {C, _, Doc} | Left]}, Env)
      when ?is_string(C) ->
  