code: def castable(source, target):
      
      op = source.op()
      value = getattr(op, 'value', None)
      return dt.castable(source.type(), target.type(), value=value)
docs: Return whether source ir type is implicitly castable to target
  
      Based on the underlying datatypes and the value in case of Literals