(defm <base>compose ((t a int) (t b int))
(annotate 'composed-int
(cons a b)))
(defm <base>compose ((t a composed-int) (t b int))
(annotate 'composed-int
(cons a b)))
Then we can redefine the call* table as an overloading of the <base>call function:
(defm <base>call ((t l cons) (t v composed-int))
(let (first second) (rep v)
((l first) second)))
> 2. Allow the reader to treat a parenthesized item as an item that supports intrasymbol syntax.
This is probably going to conflict with (a . d) format