(.module: [lux #* [data ["." maybe ("#;." functor)] ["." text ["%" format (#+ format)]] [collection ["." list ("#;." functor)]]]] ["." // (#+ Entity Black-List) ["_" term] [// ["$" document]]]) (def: #export entity (-> Entity Text) %.text) (def: #export (black-list black-list) (-> Black-List Text) (let [scope (format "The rights granted under " _.license) effect "shall not be granted to the following entities, or any subsidiary thereof" justification (|> black-list (get@ #//.justification) (maybe;map (|>> (format ", due to "))) (maybe.default "")) entities (|> black-list (get@ #//.entities) (list;map ..entity) (text.join-with text.new-line))] (format scope " " effect justification ":" text.new-line entities)))