Simply put, JustDecompile does not yet recognize the true and false operators used in C#. You can do public static bool operator true(MyType t) {/* implementation */} and same with false. This results in IL:
However, when decompiled to C# it shows up as:
Also, when used the operator shows up like this:
The last point is also valid for implicit operators where they show up as MyType.op_Implicit (haven't tried explicit ones yet).
.method
public
hidebysig specialname
static
bool
op_True (
class
Test.MyType obj
) cil managed
public
static
bool
op_True(TotemValue value);
// Original code
if
(myObj)
/*stuff*/
// Decompiled code
if
(MyType.op_True(myObj))
/* stuff */