This interface was proposed for inclusion with ANSI CL by David N. Gray in Issue STREAM-DEFINITION-BY-USER. The proposal did not make it into ANSI CL, but most popular CL implementations implement this facility anyway.
NEED: status of working implementation. See also trivial-gray-streams