class Dentaku::AST::Bitwise

def value(context = {})

def value(context = {})
  left_value = left.value(context)
  right_value = right.value(context)
  left_value.public_send(operator, right_value)
rescue NoMethodError => e
  raise Dentaku::ArgumentError.for(:invalid_operator, value: left_value, for: left_value.class)
rescue TypeError => e
  raise Dentaku::ArgumentError.for(:invalid_operator, value: right_value, for: right_value.class)
end