Then you should probably reduce to option<t>:
let make: array<ParserResult.t> => option<t> = lines =>
lines->Array.reduce(None, (ledger, parserResult) =>
ledger->Option.map(ledger => {
let settings = switch parserResult {
| Setting(DefaultCurrency(defaultCurrency)) => {...ledger.settings, defaultCurrency}
// | others
| _ => ledger.settings
}
{...ledger, settings}
})
)