Short-circuiting binary and/or operators

I'd like to modify the expression evaluator to support short-circuiting binary operators like && and || in C# (AndAlso and OrElse in VB.NET), ensuring that an error is not thrown even though an operator is not defined between String and Int32 (bar<2)
in the following:

foo = 1
bar = "test"
(foo==1) | (bar<2)

Is this a simple task or am I looking at a fair amount of changes to the code base in order to implement this?