(.require [library [lux (.except) ["[0]" meta] [abstract [monad (.only do)]] [data ["[0]" text (.use "[1]#[0]" hash) ["%" \\format (.only format)]]] [macro [syntax (.only syntax)]] [meta ["[0]" code] [type [primitive (.except)]]]]]) (primitive .public Class Text (def .public class (-> Class Text) (|>> representation)) (def .public custom (-> Text Class) (|>> abstraction)) (def .public generic (syntax (_ []) (do meta.monad [module meta.current_module_name class meta.seed] (in (list (` (..custom (, (code.text (format "c" (%.nat_16 class) "_" (%.nat_16 (text#hash module)))))))))))) )