code: func (tx *Tx) Page(id int) (*PageInfo, error) {
  	if tx.db == nil {
  		return nil, ErrTxClosed
  	} else if pgid(id) >= tx.meta.pgid {
  		return nil, nil
  	}
  
  	// Build the page info.
  	p := tx.db.page(pgid(id))
  	info := &PageInfo{
  		ID:            id,
  		Count:         int(p.count),
  		OverflowCount: int(p.overflow),
  	}
  
  	// Determine the type (or if it's free).
  	if tx.db.freelist.freed(pgid(id)) {
  		info.Type = "free"
  	} else {
  		info.Type = p.typ()
  	}
  
  	return info, nil
  }
docs: // Page returns page information for a given page number.
  // This is only safe for concurrent use when used by a writable transaction.