The copyIn function takes a Stream with a return type of Maybe ByteString, which seems to be used to determine if the copying was successful.
Is this meant to be an upstream/source indicator of success as an error message rather than actual data that should have been in the Stream?