accept lvalue for or_else, fixes #93