In the current firewall implementation, rule icmpv6 "type" node includes all codes/types/type-name that seems a wrong design.
For ipv4 it looks more correct.
vyos@r6-roll# set firewall name FOO rule 10 icmp Possible completions: code ICMP code (0-255) type ICMP type (0-255) type-name ICMP type-name 
vyos@r6-roll# set firewall ipv6-name FOO rule 10 icmpv6 Possible completions: type ICMPv6 type/code 
As we don't configure "type" only
vyos@r6-roll# set firewall ipv6-name FOO rule 10 icmpv6 type Possible completions: ... ... ping ICMPv6 type/code name echo-reply ICMPv6 type/code name pong ICMPv6 type/code name router-solicitation ICMPv6 type/code name router-advertisement ICMPv6 type/code name neighbour-solicitation ICMPv6 type/code name neighbor-solicitation ICMPv6 type/code name neighbour-advertisement ICMPv6 type/code name neighbor-advertisement ICMPv6 type/code name redirect ICMPv6 type/code name <0-255> ICMPv6 type number <0-255>/<0-255> ICMPv6 type and code numbers address-unreachable bad-header communication-prohibited ... ...
Consider the possibility of migrating/rewriting to the correct node format. Where "type" and "code" are separate nodes/parameters.