anchor.diff:  
   %% File    : lfe_doc.erl
   %% Author  : Eric Bailey
  -%% Purpose : Lisp Flavoured Erlang docstring parser.
  +%% Purpose : Lisp Flavoured Erlang documentation parser.
   
  -%% TODO: write explanation.
  -
  +%% The functions herein are used internally by the compiler.
  +%% There is no guarantee the API will not change dramatically in future.
   
   -module(lfe_doc).
   
   -export([module/1,patterns/1]).
   
   -import(lfe_lib, [is_symb_list/1,is_proper_list/1]).
  -
   -import(lists, [reverse/1]).
   
   -include("lfe_comp.hrl").
  
positive.code:     {yes,Arity,Patterns} = patterns(Body),
      Doc = make_doc(macro, Name, Arity, Patterns, DocStr),
      do_module([Doc|Docs], Defs);
  do_module(Docs, [_|Defs]) -> do_module(Docs, Defs).
  
  -spec patterns(LambdaForm) -> 'no' | {'yes',Arity,Patterns} when
        LambdaForm :: nonempty_list(),
  
negative.code: do_patterns(N, Acc, []) -> {yes,N,reverse(Acc)};
  do_patterns(_, _, _) -> no.
  
  %% make_doc(Type, Name, Arity, Patterns, Doc) -> doc().
  %%  Convenience constructor for #doc{}, which is defined in src/lfe_doc.hrl.
  
  -spec make_doc(Type, Name, Arity, Patterns, Doc) -> doc() when
        Type     :: 'function' | 'macro',
        Name     :: atom(),
  