+@defun mime-entity-header-start entity
+
+@var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bheader \e$B$,@j$a$kNN0h$N@hF,0LCV$r\e(B
+\e$BJV$9!#\e(B
+@end defun
+
+
+@defun mime-entity-header-end entity
+
+@var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bheader \e$B$,@j$a$kNN0h$NKvHx0LCV$r\e(B
+\e$BJV$9!#\e(B
+@end defun
+
+
+@defun mime-entity-body-start entity
+
+@var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bbody \e$B$,@j$a$kNN0h$N@hF,0LCV$rJV\e(B
+\e$B$9!#\e(B
+@end defun
+
+
+@defun mime-entity-body-end entity
+
+@var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bbody \e$B$,@j$a$kNN0h$NKvHx0LCV$rJV\e(B
+\e$B$9!#\e(B
+@end defun
+
+
+
+@node mm-backend, , Entity buffer, Entity
+@section Entity \e$B$NI=8=$H<B8=\e(B
+@cindex mm-backend
+@cindex entity \e$B=hM}\e(B method
+@cindex representation-type
+
+Entity \e$B$OCj>]2=$5$l$?%G!<%?I=8=$G!"<B:]$N%G!<%?I=8=$H$7$F$OMQES$K1~$8$F\e(B
+\e$B$5$^$6$^$J$b$N$,MxMQ$G$-$k$h$&$K@_7W$5$l$F$$$^$9!#\e(B@refill
+
+\e$B$3$3$G!"\e(Bentity \e$B$,$I$&$$$&<oN`$NI=8=$r9T$C$F$$$k$+$r<($9$N$,\e(B
+@strong{representation-type} \e$B$G!"\e(Bentity \e$B$r@8@.$9$k;~$K$O$3$l$r;XDj$7$^$9!#\e(B
+(cf. @ref{Entity Creation}) @refill
+
+\e$BA0@a$^$G$K=R$Y$FMh$?\e(B entity \e$B$KBP$9$k=hM}$O!"\e(Bentity \e$B$KBP$7$F$=$N=hM}$r0M\e(B
+\e$BMj$9$k$3$H$K$h$C$F<B8=$5$l$F$$$^$9!#\e(BEntity \e$B$O<+J,$N\e(B representation-type
+\e$B$rCN$C$F$*$j!"$=$N\e(B representation-type \e$B$K1~$8$F<B:]$N=hM}$r9T$&4X?t$r8F\e(B
+\e$B$S=P$7$^$9!#$3$N$h$&$J4X?t$r\e(B @strong{entity \e$B=hM}\e(Bmethod} \e$B$H8F$S$^$9!#$^$?!"\e(B
+representation-type \e$BKh$K$3$N$h$&$J4X?t$r$^$H$a$?$b$N$r\e(B
+@strong{mm-backend} \e$B$H8F$S$^$9!#\e(B@refill
+
+mm-backend \e$B$O\e(B representation-type \e$B$NL>A0$N@hF,$K\e(B @code{mm} \e$B$H$$$&\e(B
+\e$B@\F,<-$rIU$1$?4X?tL>$+$i$J$k\e(B module \e$B$G!"$=$N\e(B module \e$BL>$OF1MM$K\e(B
+representation-type \e$B$NL>A0$N@hF,$K\e(B @code{mm} \e$B$rIU$1$?$b$N$K$J$C$F\e(B
+\e$B$$$^$9!#$3$N\e(B module \e$B$O\e(B representation-type \e$B$N\e(B entity \e$B$,:G=i$K@8@.$5$l$k\e(B
+\e$B;~$K<+F0E*$K\e(B require \e$B$5$l$^$9!#\e(B
+
+
+@menu
+* Request for entity:: Entity \e$B$X$NJX$j\e(B
+* mm-backend module:: mm-backend \e$B$N:n$jJ}\e(B
+@end menu
+
+@node Request for entity, mm-backend module, mm-backend, mm-backend
+@subsection Entity \e$B$X$NJX$j\e(B
+
+@defun mime-entity-send entity message &rest args
+
+@var{entity} \e$B$K\e(B @var{message} \e$B$rAw$k!#\e(B@refill
+
+@var{args} \e$B$O\e(B @var{message} \e$B$N0z?t$G$"$k!#\e(B
+@end defun
+
+
+
+@node mm-backend module, , Request for entity, mm-backend
+@subsection mm-backend \e$B$N:n$jJ}\e(B
+
+@defmac mm-define-backend type &optional parents
+
+Define @var{type} as a mm-backend.@refill
+
+If @var{PARENTS} is specified, @var{type} inherits parents. Each parent
+must be representation-type.@refill
+
+Example:@refill
+
+@lisp
+(mm-define-backend chao (generic))
+@end lisp
+@end defmac
+
+
+@defmac mm-define-method name args &rest body
+
+Define @var{name} as a method function of (nth 1 (car @var{args}))
+backend.@refill
+
+@var{args} is like an argument list of lambda, but (car @var{args}) must
+be specialized parameter. (car (car @var{args})) is name of variable
+and (nth 1 (car @var{args})) is name of backend
+(representation-type).@refill
+
+Example:@refill
+
+@lisp
+(mm-define-method entity-cooked-p ((entity chao)) nil)
+@end lisp
+@end defmac
+
+