read/unread document
using new read! / unread! for document::base