`Result` Algebraic Data Type Proposal

See also, https://es.discourse.group/t/using-maybe-object-to-make-null-undefined-errors-more-semantic/843/1