123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051(** Extensions to the Cmarkit AST *)openCmarkittypeBlock.t+=|IncludedofBlock.tattributednode|DivofBlock.tattributednode|SlideofBlock.tattributednode|SlipofBlock.tattributednode|SlipScriptofBlock.Code_block.tattributednodemoduleFolder=structletblock_ext_defaultfacc=function|Div((b,_),_)|Included((b,_),_)|Slide((b,_),_)|Slip((b,_),_)->Folder.fold_blockfaccb|SlipScript_->acc|_->assertfalseletmake=Folder.make~block_ext_defaultendmoduleMapper=structlet(let*)=Option.bindletblock_ext_defaultm=function|Div((b,attrs),meta)->let*b=Mapper.map_blockmbinletattrs=(Mapper.map_attrsm(fstattrs),sndattrs)inSome(Div((b,attrs),meta))|Included((b,attrs),meta)->let*b=Mapper.map_blockmbinletattrs=(Mapper.map_attrsm(fstattrs),sndattrs)inSome(Included((b,attrs),meta))|Slide((b,attrs),meta)->let*b=Mapper.map_blockmbinletattrs=(Mapper.map_attrsm(fstattrs),sndattrs)inSome(Slide((b,attrs),meta))|Slip((b,attrs),meta)->let*b=Mapper.map_blockmbinletattrs=(Mapper.map_attrsm(fstattrs),sndattrs)inSome(Slip((b,attrs),meta))|SlipScript((s,attrs),meta)->letattrs=(Mapper.map_attrsm(fstattrs),sndattrs)inSome(SlipScript((s,attrs),meta))|_->assertfalseletmake=Mapper.make~block_ext_defaultend