(.using
  [library
   [lux
    ["$" documentation {"+" documentation:}]]]
  [\\library
   ["[0]" /]])

(documentation: (/.Codec medium value)
  "A way to move back-and-forth between a type and an alternative representation for it.")

(documentation: /.composite
  "Codec composition."
  [(: (Codec c a)
      (composite (: (Codec c b)
                    cb_codec)
                 (: (Codec b a)
                    ba_codec)))])

(.def: .public documentation
  (.List $.Module)
  ($.module /._
            ""
            [..Codec
             ..composite]
            []))
