def divide(lhs, rhs, ctx):
"""Element /
(num, num) -> a / b
(num, str) -> b split into a even length pieces, possibly with an extra part
(str, num) -> a split into b even length pieces, possibly with an extra part
(str, str) -> split a on b
"""
ts = vy_type(lhs, rhs)
return {
(NUMBER_TYPE, NUMBER_TYPE): lambda: 0
if lhs == rhs == 0
else vyxalify(sympy.nsimplify(lhs / rhs)),
(NUMBER_TYPE, str): lambda: wrap(rhs, len(rhs) // lhs, ctx),
(str, NUMBER_TYPE): lambda: wrap(lhs, len(lhs) // rhs, ctx),
(str, str): lambda: lhs.split(rhs),