<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def castable(source, target):
 """Return whether source ir type is implicitly castable to target Based on the underlying datatypes and the value in case of Literals """

    op = source.op()
    value = getattr(op, 'value', None)
    return dt.castable(source.type(), target.type(), value=value)