protected function checkOperand($operand)
    {
        if (!is_scalar($operand) && !$operand instanceof ExpressionContract) {
            throw new InvalidArgumentException('Condition only acceps scalars and Expression, not ' . Type::of($operand));
        }
        return $operand;
    }