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