Assert that a nary operation has always more than 1 operand
Proper way to check compatibility when first operand is not a node

Otherwise, we could use variant_cast on a terminal in sum
Assert that cast to type is correct in variant_cast