code: def type_param(self, node, ct):
          
          types = self.get_types(node)
          ftyp = types[0]
          if len(types) == 1:
              if ftyp in type_class:
                  jtyp = type_class[ftyp]
              else:
                  jtyp = "other"
              self.xsl_withparam("type", jtyp, ct)
          elif ftyp in ["string", "enumeration", "bits", "binary",
                        "identityref", "instance-identifier"]:
              self.xsl_withparam("type", "string", ct)
          else:
              opts = []
              for t in types:
                  if t in union_class:
                      ut = union_class[t]
                  elif t in ["int64", "uint64"] or t.startswith("decimal@"):
                      ut = t
                  else:
                      ut = "other"
                  if ut not in opts:
                      opts.append(ut)
                      if ut == "other": break
                      if ut == "decimal" and "integer" not in opts:
                          opts.append("integer")
              self.xsl_withparam("type", "union", ct)
              self.xsl_withparam("options", ",".join(opts) + ",", ct)
docs: Resolve the type of a leaf or leaf-list node for JSON.