Hi, I've noticed that when one passes multiple values as a single argument to a procedure, only the first value gets used. Is this expected? Here's an example: --8<---------------cut here---------------start------------->8--- $ guile GNU Guile 2.2.2 Copyright (C) 1995-2017 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> (define (proc x) x) scheme@(guile-user)> (proc (values 1 2)) $1 = 1 scheme@(guile-user)> --8<---------------cut here---------------end--------------->8--- I've looked in a few places to try to figure out the answer to this question, but I haven't found much. In addition to the guile-devel and guile-user email list archives, I've checked the following sections in the manual: (guile) Binding Multiple Values (guile) Lambda (guile) Fly Evaluation (guile) Compiled Procedures (guile) Expression Syntax However, I did find the following information in R6RS (Section 5.8: "Multiple return values"), which seems possibly relevant: "Not all continuations accept any number of values. For example, a continuation that accepts the argument to a procedure call is guaranteed to accept exactly one value. The effect of passing some other number of values to such a continuation is unspecified." -- Chris