add checker/compare functions requirements on return type