Fix a bug

Operator overload must be global.
[DON'T MERGE] Tests for klang::Either.