> (define-syntax foo
> (syntax-rules ()
> ((_ x y) ...)
> (_ ...)))
>
> If `foo' is used as `(foo x y)', the first clause will be expanded; if
> `foo' is used in any other context, the second clause will be used.
>
> An example could be:
>
> (define-syntax +
> (syntax-rules ()
> ((_ x y) (fast-binary-plus x y))
> (_ slow-general-plus)))
This seems very neat to me. Currently the non-parenthesized case just
gives an "invalid use of syntax as value" error.