let List := requireModule "List" in let Composition := requireModule "Composition" in let Logic := requireModule "Logic" in import [rem ($)] from Composition in import [(if) (else) (elif) not] from Logic in import [nil nil?] from List in rem "accessor for 'just part" rem "TODO check whether it's actually not nothing." let nothing := nil in let nothing? := nil? in let something := \m m in let something? := \m (not (nothing? m)) in let (?;) := (\m \f if (something? m) f (something m) else nothing ) in let makeSomething := (\v v ) in let return? := (\v makeSomething v ) in (requireModule "Composition").dispatch1 (#exports [something something? nothing nothing? (?;) return?])