How ecactly is having to check twice the amount of cases an improvement (note btw, that checking for Left/Right is doing it wrong)?
(int64, error)
Either gives you exactly the two you want.
(value, no error) (value, error) (no value, error) (no value, no error)