>> (define-library (scheme list) >> (extends (srfi 1)) > > I think there is a fundamental difference between `(alias-for (srfi > 1))` and `(extends (srfi 1))`. In the former case, we just have one > library with two names. In particular, the library only has to be > loaded (and expanded) once. In the latter case, we have to libraries > (which just may happen to be equivalent) that have to be loaded and > expanded separately. So it even makes sense to have both forms > separately. The `extends` form would expand into an import declaration > together with a corresponding export declaration. It makes sense to > allow that the `extends` form is decorated with `only`, `prefix`, > `rename`, and `except`. There doesn't have to be a fundamental difference if (define-library (foo) (alias-for (bar))) is parsed magically as something different from an ordinary `define-library`. But I agree that `define-library-alias` is more elegant. The symmetry with Chez Scheme `alias` (which you refer to in your pre-SRFI <https://github.com/mnieper/srfi-212>) is nice.