The workbook, or null when the user DECLINED to open one — a dismissed open picker or
a cancelled password prompt. This mirrors IWorkbookIO.read, which reserves null for
exactly that; a source that genuinely cannot be read throws instead, so a caller can tell a
deliberate cancel apart from a failure and surface an error state only for the latter.
Normalize a WorkbookInput (or absent/empty input) into an IWorkbook.
null/ an empty options object → a fresh default workbook (unbound origin)source) is read via theio; the workbook carries the origin minted by the read