The following works fine without the syntax-rules/syntax-case macro expander enabled: (open-vector-pipe (list direction: 'input) (list direction: 'output)) However if the syntax-case expander is enabled, compilation generates a warning that 'direction:' is undefined and runtime fails with: *** ERROR -- (Argument 1) VECTOR or port settings expected (open-vector-pipe '(#!unbound input) '(#!unbound output)) This also works without the syntax-case expander: (open-vector-pipe (list 'direction: 'input) (list 'direction: 'output)) but fails with the syntax-case expander enabled with a different error: *** ERROR -- (Argument 1) VECTOR or port settings expected (open-vector-pipe '(|direction:| input) '(|direction:| output)) I am using gambit-c 4.7.3. Is there any workaround for this? Chris