     dup <vocab-profile> write-object ;
 
 M: method-body (profile.)
-    dup synopsis swap "method-generic" word-prop
-    <usage-profile> write-object ;
+    [ synopsis ] [ "method-generic" word-prop <usage-profile> ] bi
+    write-object ;
 
 : counter. ( obj n -- )
     [

C: <usage-profile> usage-profile

M: word (profile.)
    dup unparse swap <usage-profile> write-object ;

TUPLE: vocab-profile vocab ;


    "Call counts for words which call " write
    dup pprint
    ":" print
    [ smart-usage [ word? ] filter ]
    [ compiled-generic-usage keys ]
    [ compiled-usage keys ]
    tri 3append prune counters counters. ;

: vocabs-profile. ( -- )
    "Call counts for all vocabularies:" print
