impl double_unary and trinary node