eschew `fromJust`, better error reporting