I'd vote for removing the materialized value. Isn't it an anti-pattern to attach some completion signal to a source? In the end it doesn't mean anything but that the function has been invoked (which the user can figure out itself because it provides the function).