class Coalesce(NamedFunc):
...
@property
def variable_factory(self):
return self.args[0].variable_factory
The Comparable.__eq__() method tries to get self.variable_factory and cast the "other" value to that variable type, so the above would propagate the type info from the function arguments to the function return.
The same could be done for some other common functions (e.g. set Count.variable_factory to IntVariable).
So my suggestion here was to do something like:
class Coalesce( NamedFunc) : factory( self): 0].variable_ factory
...
@property
def variable_
return self.args[
The Comparable.__eq__() method tries to get self.variable_ factory and cast the "other" value to that variable type, so the above would propagate the type info from the function arguments to the function return.
The same could be done for some other common functions (e.g. set Count.variable_ factory to IntVariable).