custom operator |?