+: card-face-summary. ( seq -- )
+ {
+ [ "name" of write bl ]
+ [ "mana_cost" of ?print ]
+ [ "type_line" of ?print ]
+ [ [ "power" of ] [ "toughness" of ] bi 2dup and [ "/" glue print ] [ 2drop ] if ]
+ [ "oracle_text" of ?print ]
+ } cleave nl ;
+
+: card-face-summaries. ( seq -- ) [ card-face-summary. ] each ;
+
+: card-summary. ( assoc -- )
+ {
+ [
+ [ "card_faces" of ]
+ [ [ length number>string "Card Faces: " prepend print ] [ card-face-summaries. ] bi ]
+ [ card-face-summary. ] ?if
+ ]
+ } cleave nl nl nl ;
+
+: card-summaries. ( seq -- ) [ card-summary. ] each ;
+
+: card-summary-with-pic. ( assoc -- )
+ [ normal-card. ]
+ [ card-summary. ] bi ;
+
+: card-summaries-with-pics. ( seq -- ) [ card-summary-with-pic. ] each ;
+