Multi-Currency and FX in a Go Ledger: Keeping Double-Entry Honest Across Currencies