add C# style type equality: in progress