I believe the signatures for Stream.fromQueueUnterminated, etc., could be narrowed to take QueueSource instead of Queue, because they only rely on the take and tryTake methods. Then if users want to translate a Queue to a Stream they don't have to require knowledge of the "write" methods of the Queue, only the "read" methods.