// GENERATED by `mise run sdk-spec:generate` from pkgs/morphir-sdk-spec/sdk.scm. Do not edit.

///|
let sdk_json : String =
  #|{
  #| "formatVersion": 4,
  #| "distribution": {
  #|  "Specs": {
  #|   "packageName": "morphir/SDK",
  #|   "dependencies": {},
  #|   "spec": {
  #|    "modules": {
  #|     "basics": {
  #|      "types": {
  #|       "int": {
  #|        "OpaqueTypeSpecification": {}
  #|       },
  #|       "float": {
  #|        "OpaqueTypeSpecification": {}
  #|       },
  #|       "bool": {
  #|        "OpaqueTypeSpecification": {}
  #|       },
  #|       "never": {
  #|        "OpaqueTypeSpecification": {}
  #|       },
  #|       "order": {
  #|        "CustomTypeSpecification": {
  #|         "typeParams": [],
  #|         "constructors": {
  #|          "LT": [],
  #|          "EQ": [],
  #|          "GT": []
  #|         }
  #|        }
  #|       }
  #|      },
  #|      "values": {
  #|       "add": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "number"
  #|            }
  #|           },
  #|           "name": "number"
  #|          }
  #|         },
  #|         "b": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "number"
  #|            }
  #|           },
  #|           "name": "number"
  #|          }
  #|         }
  #|        },
  #|        "output": {
  #|         "Variable": {
  #|          "attributes": {
  #|           "constraints": {
  #|            "typeclass": "number"
  #|           }
  #|          },
  #|          "name": "number"
  #|         }
  #|        }
  #|       },
  #|       "subtract": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "number"
  #|            }
  #|           },
  #|           "name": "number"
  #|          }
  #|         },
  #|         "b": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "number"
  #|            }
  #|           },
  #|           "name": "number"
  #|          }
  #|         }
  #|        },
  #|        "output": {
  #|         "Variable": {
  #|          "attributes": {
  #|           "constraints": {
  #|            "typeclass": "number"
  #|           }
  #|          },
  #|          "name": "number"
  #|         }
  #|        }
  #|       },
  #|       "multiply": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "number"
  #|            }
  #|           },
  #|           "name": "number"
  #|          }
  #|         },
  #|         "b": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "number"
  #|            }
  #|           },
  #|           "name": "number"
  #|          }
  #|         }
  #|        },
  #|        "output": {
  #|         "Variable": {
  #|          "attributes": {
  #|           "constraints": {
  #|            "typeclass": "number"
  #|           }
  #|          },
  #|          "name": "number"
  #|         }
  #|        }
  #|       },
  #|       "divide": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float",
  #|         "b": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "integer-divide": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#int",
  #|         "b": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "power": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "number"
  #|            }
  #|           },
  #|           "name": "number"
  #|          }
  #|         },
  #|         "b": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "number"
  #|            }
  #|           },
  #|           "name": "number"
  #|          }
  #|         }
  #|        },
  #|        "output": {
  #|         "Variable": {
  #|          "attributes": {
  #|           "constraints": {
  #|            "typeclass": "number"
  #|           }
  #|          },
  #|          "name": "number"
  #|         }
  #|        }
  #|       },
  #|       "to-float": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "round": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "floor": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "ceiling": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "truncate": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "mod-by": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#int",
  #|         "b": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "remainder-by": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#int",
  #|         "b": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "negate": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "number"
  #|            }
  #|           },
  #|           "name": "number"
  #|          }
  #|         }
  #|        },
  #|        "output": {
  #|         "Variable": {
  #|          "attributes": {
  #|           "constraints": {
  #|            "typeclass": "number"
  #|           }
  #|          },
  #|          "name": "number"
  #|         }
  #|        }
  #|       },
  #|       "abs": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "number"
  #|            }
  #|           },
  #|           "name": "number"
  #|          }
  #|         }
  #|        },
  #|        "output": {
  #|         "Variable": {
  #|          "attributes": {
  #|           "constraints": {
  #|            "typeclass": "number"
  #|           }
  #|          },
  #|          "name": "number"
  #|         }
  #|        }
  #|       },
  #|       "clamp": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "number"
  #|            }
  #|           },
  #|           "name": "number"
  #|          }
  #|         },
  #|         "b": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "number"
  #|            }
  #|           },
  #|           "name": "number"
  #|          }
  #|         },
  #|         "c": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "number"
  #|            }
  #|           },
  #|           "name": "number"
  #|          }
  #|         }
  #|        },
  #|        "output": {
  #|         "Variable": {
  #|          "attributes": {
  #|           "constraints": {
  #|            "typeclass": "number"
  #|           }
  #|          },
  #|          "name": "number"
  #|         }
  #|        }
  #|       },
  #|       "is-na-n": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "is-infinite": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "sqrt": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "log-base": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float",
  #|         "b": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "e": {
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "pi": {
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "cos": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "sin": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "tan": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "acos": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "asin": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "atan": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "atan-2": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float",
  #|         "b": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "degrees": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "radians": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "turns": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "to-polar": {
  #|        "inputs": {
  #|         "a": {
  #|          "Tuple": [
  #|           "morphir/SDK:basics#float",
  #|           "morphir/SDK:basics#float"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Tuple": [
  #|          "morphir/SDK:basics#float",
  #|          "morphir/SDK:basics#float"
  #|         ]
  #|        }
  #|       },
  #|       "from-polar": {
  #|        "inputs": {
  #|         "a": {
  #|          "Tuple": [
  #|           "morphir/SDK:basics#float",
  #|           "morphir/SDK:basics#float"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Tuple": [
  #|          "morphir/SDK:basics#float",
  #|          "morphir/SDK:basics#float"
  #|         ]
  #|        }
  #|       },
  #|       "equal": {
  #|        "inputs": {
  #|         "a": "eq",
  #|         "b": "eq"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "not-equal": {
  #|        "inputs": {
  #|         "a": "eq",
  #|         "b": "eq"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "less-than": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "b": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "greater-than": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "b": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "less-than-or-equal": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "b": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "greater-than-or-equal": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "b": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "max": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "b": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         }
  #|        },
  #|        "output": {
  #|         "Variable": {
  #|          "attributes": {
  #|           "constraints": {
  #|            "typeclass": "comparable"
  #|           }
  #|          },
  #|          "name": "comparable"
  #|         }
  #|        }
  #|       },
  #|       "min": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "b": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         }
  #|        },
  #|        "output": {
  #|         "Variable": {
  #|          "attributes": {
  #|           "constraints": {
  #|            "typeclass": "comparable"
  #|           }
  #|          },
  #|          "name": "comparable"
  #|         }
  #|        }
  #|       },
  #|       "compare": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "b": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#order"
  #|       },
  #|       "not": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#bool"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "and": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#bool",
  #|         "b": "morphir/SDK:basics#bool"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "or": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#bool",
  #|         "b": "morphir/SDK:basics#bool"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "xor": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#bool",
  #|         "b": "morphir/SDK:basics#bool"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "append": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "appendable"
  #|            }
  #|           },
  #|           "name": "appendable"
  #|          }
  #|         },
  #|         "b": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "appendable"
  #|            }
  #|           },
  #|           "name": "appendable"
  #|          }
  #|         }
  #|        },
  #|        "output": {
  #|         "Variable": {
  #|          "attributes": {
  #|           "constraints": {
  #|            "typeclass": "appendable"
  #|           }
  #|          },
  #|          "name": "appendable"
  #|         }
  #|        }
  #|       },
  #|       "identity": {
  #|        "inputs": {
  #|         "a": "a"
  #|        },
  #|        "output": "a"
  #|       },
  #|       "always": {
  #|        "inputs": {
  #|         "a": "a",
  #|         "b": "b"
  #|        },
  #|        "output": "a"
  #|       },
  #|       "compose-left": {
  #|        "inputs": [
  #|         [
  #|          "g",
  #|          {
  #|           "Function": {
  #|            "parameterType": "b",
  #|            "returnType": "c"
  #|           }
  #|          }
  #|         ],
  #|         [
  #|          "f",
  #|          {
  #|           "Function": {
  #|            "parameterType": "a",
  #|            "returnType": "b"
  #|           }
  #|          }
  #|         ]
  #|        ],
  #|        "output": {
  #|         "Function": {
  #|          "parameterType": "a",
  #|          "returnType": "c"
  #|         }
  #|        }
  #|       },
  #|       "compose-right": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": "b"
  #|          }
  #|         },
  #|         "g": {
  #|          "Function": {
  #|           "parameterType": "b",
  #|           "returnType": "c"
  #|          }
  #|         }
  #|        },
  #|        "output": {
  #|         "Function": {
  #|          "parameterType": "a",
  #|          "returnType": "c"
  #|         }
  #|        }
  #|       },
  #|       "never": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#never"
  #|        },
  #|        "output": "a"
  #|       }
  #|      }
  #|     },
  #|     "string": {
  #|      "types": {
  #|       "string": {
  #|        "OpaqueTypeSpecification": {}
  #|       }
  #|      },
  #|      "values": {
  #|       "is-empty": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "length": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "reverse": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "repeat": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int",
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "replace": {
  #|        "inputs": [
  #|         [
  #|          "match",
  #|          "morphir/SDK:string#string"
  #|         ],
  #|         [
  #|          "replacement",
  #|          "morphir/SDK:string#string"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "append": {
  #|        "inputs": {
  #|         "s-1": "morphir/SDK:string#string",
  #|         "s-2": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "concat": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "morphir/SDK:string#string"
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "split": {
  #|        "inputs": [
  #|         [
  #|          "sep",
  #|          "morphir/SDK:string#string"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        }
  #|       },
  #|       "join": {
  #|        "inputs": {
  #|         "sep": "morphir/SDK:string#string",
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "morphir/SDK:string#string"
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "words": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        }
  #|       },
  #|       "lines": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        }
  #|       },
  #|       "slice": {
  #|        "inputs": [
  #|         [
  #|          "start",
  #|          "morphir/SDK:basics#int"
  #|         ],
  #|         [
  #|          "end",
  #|          "morphir/SDK:basics#int"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "left": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int",
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "right": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int",
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "drop-left": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int",
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "drop-right": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int",
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "contains": {
  #|        "inputs": [
  #|         [
  #|          "ref",
  #|          "morphir/SDK:string#string"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "starts-with": {
  #|        "inputs": [
  #|         [
  #|          "ref",
  #|          "morphir/SDK:string#string"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "ends-with": {
  #|        "inputs": [
  #|         [
  #|          "ref",
  #|          "morphir/SDK:string#string"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "indexes": {
  #|        "inputs": [
  #|         [
  #|          "ref",
  #|          "morphir/SDK:string#string"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "morphir/SDK:basics#int"
  #|         ]
  #|        }
  #|       },
  #|       "indices": {
  #|        "inputs": [
  #|         [
  #|          "ref",
  #|          "morphir/SDK:string#string"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "morphir/SDK:basics#int"
  #|         ]
  #|        }
  #|       },
  #|       "to-int": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "morphir/SDK:basics#int"
  #|         ]
  #|        }
  #|       },
  #|       "from-int": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "to-float": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "morphir/SDK:basics#float"
  #|         ]
  #|        }
  #|       },
  #|       "from-float": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "from-char": {
  #|        "inputs": {
  #|         "ch": "morphir/SDK:char#char"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "cons": {
  #|        "inputs": [
  #|         [
  #|          "ch",
  #|          "morphir/SDK:char#char"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "uncons": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          {
  #|           "Tuple": [
  #|            "morphir/SDK:char#char",
  #|            "morphir/SDK:string#string"
  #|           ]
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "to-list": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "morphir/SDK:char#char"
  #|         ]
  #|        }
  #|       },
  #|       "from-list": {
  #|        "inputs": {
  #|         "a": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "morphir/SDK:char#char"
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "to-upper": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "to-lower": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "pad": {
  #|        "inputs": [
  #|         [
  #|          "n",
  #|          "morphir/SDK:basics#int"
  #|         ],
  #|         [
  #|          "ch",
  #|          "morphir/SDK:char#char"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "pad-left": {
  #|        "inputs": [
  #|         [
  #|          "n",
  #|          "morphir/SDK:basics#int"
  #|         ],
  #|         [
  #|          "ch",
  #|          "morphir/SDK:char#char"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "pad-right": {
  #|        "inputs": [
  #|         [
  #|          "n",
  #|          "morphir/SDK:basics#int"
  #|         ],
  #|         [
  #|          "ch",
  #|          "morphir/SDK:char#char"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "trim": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "trim-left": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "trim-right": {
  #|        "inputs": {
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "map": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "morphir/SDK:char#char",
  #|           "returnType": "morphir/SDK:char#char"
  #|          }
  #|         },
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "filter": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "morphir/SDK:char#char",
  #|           "returnType": "morphir/SDK:basics#bool"
  #|          }
  #|         },
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "foldl": {
  #|        "inputs": [
  #|         [
  #|          "f",
  #|          {
  #|           "Function": {
  #|            "parameterType": "morphir/SDK:char#char",
  #|            "returnType": {
  #|             "Function": {
  #|              "parameterType": "b",
  #|              "returnType": "b"
  #|             }
  #|            }
  #|           }
  #|          }
  #|         ],
  #|         [
  #|          "z",
  #|          "b"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": "b"
  #|       },
  #|       "foldr": {
  #|        "inputs": [
  #|         [
  #|          "f",
  #|          {
  #|           "Function": {
  #|            "parameterType": "morphir/SDK:char#char",
  #|            "returnType": {
  #|             "Function": {
  #|              "parameterType": "b",
  #|              "returnType": "b"
  #|             }
  #|            }
  #|           }
  #|          }
  #|         ],
  #|         [
  #|          "z",
  #|          "b"
  #|         ],
  #|         [
  #|          "s",
  #|          "morphir/SDK:string#string"
  #|         ]
  #|        ],
  #|        "output": "b"
  #|       },
  #|       "any": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "morphir/SDK:char#char",
  #|           "returnType": "morphir/SDK:basics#bool"
  #|          }
  #|         },
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "all": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "morphir/SDK:char#char",
  #|           "returnType": "morphir/SDK:basics#bool"
  #|          }
  #|         },
  #|         "s": "morphir/SDK:string#string"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       }
  #|      }
  #|     },
  #|     "list": {
  #|      "types": {
  #|       "list": {
  #|        "OpaqueTypeSpecification": {
  #|         "typeParams": [
  #|          "a"
  #|         ]
  #|        }
  #|       }
  #|      },
  #|      "values": {
  #|       "singleton": {
  #|        "inputs": {
  #|         "a": "a"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "repeat": {
  #|        "inputs": [
  #|         [
  #|          "n",
  #|          "morphir/SDK:basics#int"
  #|         ],
  #|         [
  #|          "a",
  #|          "a"
  #|         ]
  #|        ],
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "range": {
  #|        "inputs": [
  #|         [
  #|          "from",
  #|          "morphir/SDK:basics#int"
  #|         ],
  #|         [
  #|          "to",
  #|          "morphir/SDK:basics#int"
  #|         ]
  #|        ],
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "morphir/SDK:basics#int"
  #|         ]
  #|        }
  #|       },
  #|       "cons": {
  #|        "inputs": {
  #|         "head": "a",
  #|         "tail": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "map": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": "b"
  #|          }
  #|         },
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "b"
  #|         ]
  #|        }
  #|       },
  #|       "indexed-map": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "morphir/SDK:basics#int",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "a",
  #|             "returnType": "b"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "b"
  #|         ]
  #|        }
  #|       },
  #|       "foldl": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": "b"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "z": "b",
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": "b"
  #|       },
  #|       "foldr": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": "b"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "z": "b",
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": "b"
  #|       },
  #|       "filter": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": "morphir/SDK:basics#bool"
  #|          }
  #|         },
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "filter-map": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Reference": [
  #|             "morphir/SDK:maybe#maybe",
  #|             "b"
  #|            ]
  #|           }
  #|          }
  #|         },
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "b"
  #|         ]
  #|        }
  #|       },
  #|       "length": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "reverse": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "member": {
  #|        "inputs": {
  #|         "ref": "a",
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "all": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": "morphir/SDK:basics#bool"
  #|          }
  #|         },
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "any": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": "morphir/SDK:basics#bool"
  #|          }
  #|         },
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "maximum": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "minimum": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "sum": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "number"
  #|              }
  #|             },
  #|             "name": "number"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Variable": {
  #|          "attributes": {
  #|           "constraints": {
  #|            "typeclass": "number"
  #|           }
  #|          },
  #|          "name": "number"
  #|         }
  #|        }
  #|       },
  #|       "product": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "number"
  #|              }
  #|             },
  #|             "name": "number"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Variable": {
  #|          "attributes": {
  #|           "constraints": {
  #|            "typeclass": "number"
  #|           }
  #|          },
  #|          "name": "number"
  #|         }
  #|        }
  #|       },
  #|       "append": {
  #|        "inputs": {
  #|         "l-1": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         },
  #|         "l-2": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "concat": {
  #|        "inputs": {
  #|         "lists": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           {
  #|            "Reference": [
  #|             "morphir/SDK:list#list",
  #|             "a"
  #|            ]
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "concat-map": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Reference": [
  #|             "morphir/SDK:list#list",
  #|             "b"
  #|            ]
  #|           }
  #|          }
  #|         },
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "b"
  #|         ]
  #|        }
  #|       },
  #|       "intersperse": {
  #|        "inputs": {
  #|         "a": "a",
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "map-2": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": "r"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "list-1": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         },
  #|         "list-2": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "b"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "r"
  #|         ]
  #|        }
  #|       },
  #|       "map-3": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": {
  #|              "Function": {
  #|               "parameterType": "c",
  #|               "returnType": "r"
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "list-1": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         },
  #|         "list-2": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "b"
  #|          ]
  #|         },
  #|         "list-3": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "c"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "r"
  #|         ]
  #|        }
  #|       },
  #|       "map-4": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": {
  #|              "Function": {
  #|               "parameterType": "c",
  #|               "returnType": {
  #|                "Function": {
  #|                 "parameterType": "d",
  #|                 "returnType": "r"
  #|                }
  #|               }
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "list-1": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         },
  #|         "list-2": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "b"
  #|          ]
  #|         },
  #|         "list-3": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "c"
  #|          ]
  #|         },
  #|         "list-4": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "d"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "r"
  #|         ]
  #|        }
  #|       },
  #|       "map-5": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": {
  #|              "Function": {
  #|               "parameterType": "c",
  #|               "returnType": {
  #|                "Function": {
  #|                 "parameterType": "d",
  #|                 "returnType": {
  #|                  "Function": {
  #|                   "parameterType": "e",
  #|                   "returnType": "r"
  #|                  }
  #|                 }
  #|                }
  #|               }
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "list-1": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         },
  #|         "list-2": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "b"
  #|          ]
  #|         },
  #|         "list-3": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "c"
  #|          ]
  #|         },
  #|         "list-4": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "d"
  #|          ]
  #|         },
  #|         "list-5": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "e"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "r"
  #|         ]
  #|        }
  #|       },
  #|       "sort": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "sort-by": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "sort-with": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "a",
  #|             "returnType": "morphir/SDK:basics#order"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "is-empty": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "head": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "tail": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:list#list",
  #|            "a"
  #|           ]
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "take": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int",
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "drop": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int",
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "partition": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": "morphir/SDK:basics#bool"
  #|          }
  #|         },
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Tuple": [
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:list#list",
  #|            "a"
  #|           ]
  #|          },
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:list#list",
  #|            "a"
  #|           ]
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "unzip": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           {
  #|            "Tuple": [
  #|             "a",
  #|             "b"
  #|            ]
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Tuple": [
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:list#list",
  #|            "a"
  #|           ]
  #|          },
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:list#list",
  #|            "b"
  #|           ]
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "inner-join": {
  #|        "inputs": [
  #|         [
  #|          "list-b",
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:list#list",
  #|            "b"
  #|           ]
  #|          }
  #|         ],
  #|         [
  #|          "f",
  #|          {
  #|           "Function": {
  #|            "parameterType": "a",
  #|            "returnType": {
  #|             "Function": {
  #|              "parameterType": "b",
  #|              "returnType": "morphir/SDK:basics#bool"
  #|             }
  #|            }
  #|           }
  #|          }
  #|         ],
  #|         [
  #|          "list-a",
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:list#list",
  #|            "a"
  #|           ]
  #|          }
  #|         ]
  #|        ],
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          {
  #|           "Tuple": [
  #|            "a",
  #|            "b"
  #|           ]
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "left-join": {
  #|        "inputs": [
  #|         [
  #|          "list-b",
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:list#list",
  #|            "b"
  #|           ]
  #|          }
  #|         ],
  #|         [
  #|          "f",
  #|          {
  #|           "Function": {
  #|            "parameterType": "a",
  #|            "returnType": {
  #|             "Function": {
  #|              "parameterType": "b",
  #|              "returnType": "morphir/SDK:basics#bool"
  #|             }
  #|            }
  #|           }
  #|          }
  #|         ],
  #|         [
  #|          "list-a",
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:list#list",
  #|            "a"
  #|           ]
  #|          }
  #|         ]
  #|        ],
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          {
  #|           "Tuple": [
  #|            "a",
  #|            {
  #|             "Reference": [
  #|              "morphir/SDK:maybe#maybe",
  #|              "b"
  #|             ]
  #|            }
  #|           ]
  #|          }
  #|         ]
  #|        }
  #|       }
  #|      }
  #|     },
  #|     "maybe": {
  #|      "types": {
  #|       "maybe": {
  #|        "CustomTypeSpecification": {
  #|         "typeParams": [
  #|          "a"
  #|         ],
  #|         "constructors": {
  #|          "just": [
  #|           [
  #|            "arg-1",
  #|            "a"
  #|           ]
  #|          ],
  #|          "nothing": []
  #|         }
  #|        }
  #|       }
  #|      },
  #|      "values": {
  #|       "and-then": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Reference": [
  #|             "morphir/SDK:maybe#maybe",
  #|             "b"
  #|            ]
  #|           }
  #|          }
  #|         },
  #|         "maybe": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "b"
  #|         ]
  #|        }
  #|       },
  #|       "map": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": "b"
  #|          }
  #|         },
  #|         "maybe": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "b"
  #|         ]
  #|        }
  #|       },
  #|       "map-2": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": "r"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "maybe-1": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "a"
  #|          ]
  #|         },
  #|         "maybe-2": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "b"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "r"
  #|         ]
  #|        }
  #|       },
  #|       "map-3": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": {
  #|              "Function": {
  #|               "parameterType": "c",
  #|               "returnType": "r"
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "maybe-1": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "a"
  #|          ]
  #|         },
  #|         "maybe-2": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "b"
  #|          ]
  #|         },
  #|         "maybe-3": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "c"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "r"
  #|         ]
  #|        }
  #|       },
  #|       "map-4": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": {
  #|              "Function": {
  #|               "parameterType": "c",
  #|               "returnType": {
  #|                "Function": {
  #|                 "parameterType": "d",
  #|                 "returnType": "r"
  #|                }
  #|               }
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "maybe-1": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "a"
  #|          ]
  #|         },
  #|         "maybe-2": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "b"
  #|          ]
  #|         },
  #|         "maybe-3": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "c"
  #|          ]
  #|         },
  #|         "maybe-4": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "d"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "r"
  #|         ]
  #|        }
  #|       },
  #|       "map-5": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": {
  #|              "Function": {
  #|               "parameterType": "c",
  #|               "returnType": {
  #|                "Function": {
  #|                 "parameterType": "d",
  #|                 "returnType": {
  #|                  "Function": {
  #|                   "parameterType": "e",
  #|                   "returnType": "r"
  #|                  }
  #|                 }
  #|                }
  #|               }
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "maybe-1": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "a"
  #|          ]
  #|         },
  #|         "maybe-2": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "b"
  #|          ]
  #|         },
  #|         "maybe-3": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "c"
  #|          ]
  #|         },
  #|         "maybe-4": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "d"
  #|          ]
  #|         },
  #|         "maybe-5": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "e"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "r"
  #|         ]
  #|        }
  #|       },
  #|       "with-default": {
  #|        "inputs": [
  #|         [
  #|          "default",
  #|          "a"
  #|         ],
  #|         [
  #|          "maybe",
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:maybe#maybe",
  #|            "a"
  #|           ]
  #|          }
  #|         ]
  #|        ],
  #|        "output": "a"
  #|       },
  #|       "has-value": {
  #|        "inputs": {
  #|         "maybe": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       }
  #|      }
  #|     },
  #|     "result": {
  #|      "types": {
  #|       "result": {
  #|        "CustomTypeSpecification": {
  #|         "typeParams": [
  #|          "e",
  #|          "a"
  #|         ],
  #|         "constructors": {
  #|          "ok": [
  #|           [
  #|            "arg-1",
  #|            "a"
  #|           ]
  #|          ],
  #|          "err": [
  #|           [
  #|            "arg-1",
  #|            "e"
  #|           ]
  #|          ]
  #|         }
  #|        }
  #|       }
  #|      },
  #|      "values": {
  #|       "and-then": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Reference": [
  #|             "morphir/SDK:result#result",
  #|             "x",
  #|             "b"
  #|            ]
  #|           }
  #|          }
  #|         },
  #|         "result": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:result#result",
  #|          "x",
  #|          "b"
  #|         ]
  #|        }
  #|       },
  #|       "map": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": "b"
  #|          }
  #|         },
  #|         "result": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:result#result",
  #|          "x",
  #|          "b"
  #|         ]
  #|        }
  #|       },
  #|       "map-2": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": "r"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "result-1": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "a"
  #|          ]
  #|         },
  #|         "result-2": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "b"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:result#result",
  #|          "x",
  #|          "r"
  #|         ]
  #|        }
  #|       },
  #|       "map-3": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": {
  #|              "Function": {
  #|               "parameterType": "c",
  #|               "returnType": "r"
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "result-1": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "a"
  #|          ]
  #|         },
  #|         "result-2": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "b"
  #|          ]
  #|         },
  #|         "result-3": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "c"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:result#result",
  #|          "x",
  #|          "r"
  #|         ]
  #|        }
  #|       },
  #|       "map-4": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": {
  #|              "Function": {
  #|               "parameterType": "c",
  #|               "returnType": {
  #|                "Function": {
  #|                 "parameterType": "d",
  #|                 "returnType": "r"
  #|                }
  #|               }
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "result-1": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "a"
  #|          ]
  #|         },
  #|         "result-2": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "b"
  #|          ]
  #|         },
  #|         "result-3": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "c"
  #|          ]
  #|         },
  #|         "result-4": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "d"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:result#result",
  #|          "x",
  #|          "r"
  #|         ]
  #|        }
  #|       },
  #|       "map-5": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": {
  #|              "Function": {
  #|               "parameterType": "c",
  #|               "returnType": {
  #|                "Function": {
  #|                 "parameterType": "d",
  #|                 "returnType": {
  #|                  "Function": {
  #|                   "parameterType": "e",
  #|                   "returnType": "r"
  #|                  }
  #|                 }
  #|                }
  #|               }
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "result-1": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "a"
  #|          ]
  #|         },
  #|         "result-2": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "b"
  #|          ]
  #|         },
  #|         "result-3": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "c"
  #|          ]
  #|         },
  #|         "result-4": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "d"
  #|          ]
  #|         },
  #|         "result-5": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "e"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:result#result",
  #|          "x",
  #|          "r"
  #|         ]
  #|        }
  #|       },
  #|       "with-default": {
  #|        "inputs": [
  #|         [
  #|          "default",
  #|          "a"
  #|         ],
  #|         [
  #|          "result",
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:result#result",
  #|            "x",
  #|            "a"
  #|           ]
  #|          }
  #|         ]
  #|        ],
  #|        "output": "a"
  #|       },
  #|       "to-maybe": {
  #|        "inputs": {
  #|         "result": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "from-maybe": {
  #|        "inputs": {
  #|         "error": "x",
  #|         "maybe": {
  #|          "Reference": [
  #|           "morphir/SDK:maybe#maybe",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:result#result",
  #|          "x",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "map-error": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "x",
  #|           "returnType": "y"
  #|          }
  #|         },
  #|         "result": {
  #|          "Reference": [
  #|           "morphir/SDK:result#result",
  #|           "x",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:result#result",
  #|          "y",
  #|          "a"
  #|         ]
  #|        }
  #|       }
  #|      }
  #|     },
  #|     "dict": {
  #|      "types": {
  #|       "dict": {
  #|        "OpaqueTypeSpecification": {
  #|         "typeParams": [
  #|          "k",
  #|          "v"
  #|         ]
  #|        }
  #|       }
  #|      },
  #|      "values": {
  #|       "empty": {
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:dict#dict",
  #|          "k",
  #|          "v"
  #|         ]
  #|        }
  #|       },
  #|       "singleton": {
  #|        "inputs": {
  #|         "key": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "value": "v"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:dict#dict",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          },
  #|          "v"
  #|         ]
  #|        }
  #|       },
  #|       "insert": {
  #|        "inputs": [
  #|         [
  #|          "key",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          }
  #|         ],
  #|         [
  #|          "value",
  #|          "v"
  #|         ],
  #|         [
  #|          "dict",
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:dict#dict",
  #|            {
  #|             "Variable": {
  #|              "attributes": {
  #|               "constraints": {
  #|                "typeclass": "comparable"
  #|               }
  #|              },
  #|              "name": "comparable"
  #|             }
  #|            },
  #|            "v"
  #|           ]
  #|          }
  #|         ]
  #|        ],
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:dict#dict",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          },
  #|          "v"
  #|         ]
  #|        }
  #|       },
  #|       "update": {
  #|        "inputs": [
  #|         [
  #|          "key",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          }
  #|         ],
  #|         [
  #|          "f",
  #|          {
  #|           "Function": {
  #|            "parameterType": {
  #|             "Reference": [
  #|              "morphir/SDK:maybe#maybe",
  #|              "v"
  #|             ]
  #|            },
  #|            "returnType": {
  #|             "Reference": [
  #|              "morphir/SDK:maybe#maybe",
  #|              "v"
  #|             ]
  #|            }
  #|           }
  #|          }
  #|         ],
  #|         [
  #|          "dict",
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:dict#dict",
  #|            {
  #|             "Variable": {
  #|              "attributes": {
  #|               "constraints": {
  #|                "typeclass": "comparable"
  #|               }
  #|              },
  #|              "name": "comparable"
  #|             }
  #|            },
  #|            "v"
  #|           ]
  #|          }
  #|         ]
  #|        ],
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:dict#dict",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          },
  #|          "v"
  #|         ]
  #|        }
  #|       },
  #|       "remove": {
  #|        "inputs": {
  #|         "key": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "dict": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:dict#dict",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          },
  #|          "v"
  #|         ]
  #|        }
  #|       },
  #|       "is-empty": {
  #|        "inputs": {
  #|         "dict": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "member": {
  #|        "inputs": {
  #|         "key": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "dict": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "get": {
  #|        "inputs": {
  #|         "key": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "dict": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "v"
  #|         ]
  #|        }
  #|       },
  #|       "size": {
  #|        "inputs": {
  #|         "dict": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "keys": {
  #|        "inputs": {
  #|         "dict": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           "k",
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "k"
  #|         ]
  #|        }
  #|       },
  #|       "values": {
  #|        "inputs": {
  #|         "dict": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           "k",
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "v"
  #|         ]
  #|        }
  #|       },
  #|       "to-list": {
  #|        "inputs": {
  #|         "dict": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           "k",
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          {
  #|           "Tuple": [
  #|            "k",
  #|            "v"
  #|           ]
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "from-list": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           {
  #|            "Tuple": [
  #|             {
  #|              "Variable": {
  #|               "attributes": {
  #|                "constraints": {
  #|                 "typeclass": "comparable"
  #|                }
  #|               },
  #|               "name": "comparable"
  #|              }
  #|             },
  #|             "v"
  #|            ]
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:dict#dict",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          },
  #|          "v"
  #|         ]
  #|        }
  #|       },
  #|       "map": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "k",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "a",
  #|             "returnType": "b"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "dict": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           "k",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:dict#dict",
  #|          "k",
  #|          "b"
  #|         ]
  #|        }
  #|       },
  #|       "foldl": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "k",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "v",
  #|             "returnType": {
  #|              "Function": {
  #|               "parameterType": "b",
  #|               "returnType": "b"
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "z": "b",
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           "k",
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": "b"
  #|       },
  #|       "foldr": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "k",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "v",
  #|             "returnType": {
  #|              "Function": {
  #|               "parameterType": "b",
  #|               "returnType": "b"
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "z": "b",
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           "k",
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": "b"
  #|       },
  #|       "filter": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "v",
  #|             "returnType": "morphir/SDK:basics#bool"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "dict": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:dict#dict",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          },
  #|          "v"
  #|         ]
  #|        }
  #|       },
  #|       "partition": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "v",
  #|             "returnType": "morphir/SDK:basics#bool"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "dict": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Tuple": [
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:dict#dict",
  #|            {
  #|             "Variable": {
  #|              "attributes": {
  #|               "constraints": {
  #|                "typeclass": "comparable"
  #|               }
  #|              },
  #|              "name": "comparable"
  #|             }
  #|            },
  #|            "v"
  #|           ]
  #|          },
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:dict#dict",
  #|            {
  #|             "Variable": {
  #|              "attributes": {
  #|               "constraints": {
  #|                "typeclass": "comparable"
  #|               }
  #|              },
  #|              "name": "comparable"
  #|             }
  #|            },
  #|            "v"
  #|           ]
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "union": {
  #|        "inputs": {
  #|         "dict-1": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "v"
  #|          ]
  #|         },
  #|         "dict-2": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:dict#dict",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          },
  #|          "v"
  #|         ]
  #|        }
  #|       },
  #|       "intersect": {
  #|        "inputs": {
  #|         "dict-1": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "v"
  #|          ]
  #|         },
  #|         "dict-2": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:dict#dict",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          },
  #|          "v"
  #|         ]
  #|        }
  #|       },
  #|       "diff": {
  #|        "inputs": {
  #|         "dict-1": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "v"
  #|          ]
  #|         },
  #|         "dict-2": {
  #|          "Reference": [
  #|           "morphir/SDK:dict#dict",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "v"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:dict#dict",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          },
  #|          "v"
  #|         ]
  #|        }
  #|       },
  #|       "merge": {
  #|        "inputs": [
  #|         [
  #|          "left-only",
  #|          {
  #|           "Function": {
  #|            "parameterType": {
  #|             "Variable": {
  #|              "attributes": {
  #|               "constraints": {
  #|                "typeclass": "comparable"
  #|               }
  #|              },
  #|              "name": "comparable"
  #|             }
  #|            },
  #|            "returnType": {
  #|             "Function": {
  #|              "parameterType": "a",
  #|              "returnType": {
  #|               "Function": {
  #|                "parameterType": "result",
  #|                "returnType": "result"
  #|               }
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         ],
  #|         [
  #|          "both",
  #|          {
  #|           "Function": {
  #|            "parameterType": {
  #|             "Variable": {
  #|              "attributes": {
  #|               "constraints": {
  #|                "typeclass": "comparable"
  #|               }
  #|              },
  #|              "name": "comparable"
  #|             }
  #|            },
  #|            "returnType": {
  #|             "Function": {
  #|              "parameterType": "a",
  #|              "returnType": {
  #|               "Function": {
  #|                "parameterType": "b",
  #|                "returnType": {
  #|                 "Function": {
  #|                  "parameterType": "result",
  #|                  "returnType": "result"
  #|                 }
  #|                }
  #|               }
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         ],
  #|         [
  #|          "right-only",
  #|          {
  #|           "Function": {
  #|            "parameterType": {
  #|             "Variable": {
  #|              "attributes": {
  #|               "constraints": {
  #|                "typeclass": "comparable"
  #|               }
  #|              },
  #|              "name": "comparable"
  #|             }
  #|            },
  #|            "returnType": {
  #|             "Function": {
  #|              "parameterType": "b",
  #|              "returnType": {
  #|               "Function": {
  #|                "parameterType": "result",
  #|                "returnType": "result"
  #|               }
  #|              }
  #|             }
  #|            }
  #|           }
  #|          }
  #|         ],
  #|         [
  #|          "dict-left",
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:dict#dict",
  #|            {
  #|             "Variable": {
  #|              "attributes": {
  #|               "constraints": {
  #|                "typeclass": "comparable"
  #|               }
  #|              },
  #|              "name": "comparable"
  #|             }
  #|            },
  #|            "a"
  #|           ]
  #|          }
  #|         ],
  #|         [
  #|          "dict-right",
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:dict#dict",
  #|            {
  #|             "Variable": {
  #|              "attributes": {
  #|               "constraints": {
  #|                "typeclass": "comparable"
  #|               }
  #|              },
  #|              "name": "comparable"
  #|             }
  #|            },
  #|            "b"
  #|           ]
  #|          }
  #|         ],
  #|         [
  #|          "input",
  #|          "result"
  #|         ]
  #|        ],
  #|        "output": "result"
  #|       }
  #|      }
  #|     },
  #|     "set": {
  #|      "types": {
  #|       "set": {
  #|        "OpaqueTypeSpecification": {
  #|         "typeParams": [
  #|          "a"
  #|         ]
  #|        }
  #|       }
  #|      },
  #|      "values": {
  #|       "empty": {
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:set#set",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "singleton": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:set#set",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "insert": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "set": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:set#set",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "remove": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "set": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:set#set",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "is-empty": {
  #|        "inputs": {
  #|         "set": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "member": {
  #|        "inputs": {
  #|         "a": {
  #|          "Variable": {
  #|           "attributes": {
  #|            "constraints": {
  #|             "typeclass": "comparable"
  #|            }
  #|           },
  #|           "name": "comparable"
  #|          }
  #|         },
  #|         "set": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "size": {
  #|        "inputs": {
  #|         "set": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "to-list": {
  #|        "inputs": {
  #|         "set": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:list#list",
  #|          "a"
  #|         ]
  #|        }
  #|       },
  #|       "from-list": {
  #|        "inputs": {
  #|         "list": {
  #|          "Reference": [
  #|           "morphir/SDK:list#list",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:set#set",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "map": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "returnType": {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable-2"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "set": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:set#set",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable-2"
  #|           }
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "foldl": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": "b"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "z": "b",
  #|         "set": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": "b"
  #|       },
  #|       "foldr": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": "a",
  #|           "returnType": {
  #|            "Function": {
  #|             "parameterType": "b",
  #|             "returnType": "b"
  #|            }
  #|           }
  #|          }
  #|         },
  #|         "z": "b",
  #|         "set": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           "a"
  #|          ]
  #|         }
  #|        },
  #|        "output": "b"
  #|       },
  #|       "filter": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "returnType": "morphir/SDK:basics#bool"
  #|          }
  #|         },
  #|         "set": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:set#set",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "partition": {
  #|        "inputs": {
  #|         "f": {
  #|          "Function": {
  #|           "parameterType": {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           },
  #|           "returnType": "morphir/SDK:basics#bool"
  #|          }
  #|         },
  #|         "set": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Tuple": [
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:set#set",
  #|            {
  #|             "Variable": {
  #|              "attributes": {
  #|               "constraints": {
  #|                "typeclass": "comparable"
  #|               }
  #|              },
  #|              "name": "comparable"
  #|             }
  #|            }
  #|           ]
  #|          },
  #|          {
  #|           "Reference": [
  #|            "morphir/SDK:set#set",
  #|            {
  #|             "Variable": {
  #|              "attributes": {
  #|               "constraints": {
  #|                "typeclass": "comparable"
  #|               }
  #|              },
  #|              "name": "comparable"
  #|             }
  #|            }
  #|           ]
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "union": {
  #|        "inputs": {
  #|         "set-1": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         },
  #|         "set-2": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:set#set",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "intersect": {
  #|        "inputs": {
  #|         "set-1": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         },
  #|         "set-2": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:set#set",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          }
  #|         ]
  #|        }
  #|       },
  #|       "diff": {
  #|        "inputs": {
  #|         "set-1": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         },
  #|         "set-2": {
  #|          "Reference": [
  #|           "morphir/SDK:set#set",
  #|           {
  #|            "Variable": {
  #|             "attributes": {
  #|              "constraints": {
  #|               "typeclass": "comparable"
  #|              }
  #|             },
  #|             "name": "comparable"
  #|            }
  #|           }
  #|          ]
  #|         }
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:set#set",
  #|          {
  #|           "Variable": {
  #|            "attributes": {
  #|             "constraints": {
  #|              "typeclass": "comparable"
  #|             }
  #|            },
  #|            "name": "comparable"
  #|           }
  #|          }
  #|         ]
  #|        }
  #|       }
  #|      }
  #|     },
  #|     "char": {
  #|      "types": {
  #|       "char": {
  #|        "OpaqueTypeSpecification": {}
  #|       }
  #|      },
  #|      "values": {
  #|       "is-upper": {
  #|        "inputs": {
  #|         "c": "morphir/SDK:char#char"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "is-lower": {
  #|        "inputs": {
  #|         "c": "morphir/SDK:char#char"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "is-alpha": {
  #|        "inputs": {
  #|         "c": "morphir/SDK:char#char"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "is-alpha-num": {
  #|        "inputs": {
  #|         "c": "morphir/SDK:char#char"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "is-digit": {
  #|        "inputs": {
  #|         "c": "morphir/SDK:char#char"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "is-oct-digit": {
  #|        "inputs": {
  #|         "c": "morphir/SDK:char#char"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "is-hex-digit": {
  #|        "inputs": {
  #|         "c": "morphir/SDK:char#char"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "to-upper": {
  #|        "inputs": {
  #|         "c": "morphir/SDK:char#char"
  #|        },
  #|        "output": "morphir/SDK:char#char"
  #|       },
  #|       "to-lower": {
  #|        "inputs": {
  #|         "c": "morphir/SDK:char#char"
  #|        },
  #|        "output": "morphir/SDK:char#char"
  #|       },
  #|       "to-locale-upper": {
  #|        "inputs": {
  #|         "c": "morphir/SDK:char#char"
  #|        },
  #|        "output": "morphir/SDK:char#char"
  #|       },
  #|       "to-locale-lower": {
  #|        "inputs": {
  #|         "c": "morphir/SDK:char#char"
  #|        },
  #|        "output": "morphir/SDK:char#char"
  #|       },
  #|       "to-code": {
  #|        "inputs": {
  #|         "c": "morphir/SDK:char#char"
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "from-code": {
  #|        "inputs": {
  #|         "c": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:char#char"
  #|       }
  #|      }
  #|     },
  #|     "int": {
  #|      "types": {
  #|       "int-8": {
  #|        "OpaqueTypeSpecification": {}
  #|       },
  #|       "int-16": {
  #|        "OpaqueTypeSpecification": {}
  #|       },
  #|       "int-32": {
  #|        "OpaqueTypeSpecification": {}
  #|       },
  #|       "int-64": {
  #|        "OpaqueTypeSpecification": {}
  #|       }
  #|      },
  #|      "values": {
  #|       "from-int-8": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:int#int-8"
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "to-int-8": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "morphir/SDK:int#int-8"
  #|         ]
  #|        }
  #|       },
  #|       "from-int-16": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:int#int-16"
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "to-int-16": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "morphir/SDK:int#int-16"
  #|         ]
  #|        }
  #|       },
  #|       "from-int-32": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:int#int-32"
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "to-int-32": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "morphir/SDK:int#int-32"
  #|         ]
  #|        }
  #|       },
  #|       "from-int-64": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:int#int-64"
  #|        },
  #|        "output": "morphir/SDK:basics#int"
  #|       },
  #|       "to-int-64": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "morphir/SDK:int#int-64"
  #|         ]
  #|        }
  #|       }
  #|      }
  #|     },
  #|     "decimal": {
  #|      "types": {
  #|       "decimal": {
  #|        "OpaqueTypeSpecification": {}
  #|       }
  #|      },
  #|      "values": {
  #|       "from-int": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "from-float": {
  #|        "inputs": {
  #|         "f": "morphir/SDK:basics#float"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "from-string": {
  #|        "inputs": {
  #|         "str": "morphir/SDK:string#string"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "morphir/SDK:decimal#decimal"
  #|         ]
  #|        }
  #|       },
  #|       "hundred": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "thousand": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "million": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "tenth": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "hundredth": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "thousandth": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "millionth": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "bps": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "to-string": {
  #|        "inputs": {
  #|         "decimal-value": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:string#string"
  #|       },
  #|       "to-float": {
  #|        "inputs": {
  #|         "d": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:basics#float"
  #|       },
  #|       "add": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:decimal#decimal",
  #|         "b": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "sub": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:decimal#decimal",
  #|         "b": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "negate": {
  #|        "inputs": {
  #|         "value": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "mul": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:decimal#decimal",
  #|         "b": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "div": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:decimal#decimal",
  #|         "b": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": {
  #|         "Reference": [
  #|          "morphir/SDK:maybe#maybe",
  #|          "morphir/SDK:decimal#decimal"
  #|         ]
  #|        }
  #|       },
  #|       "div-with-default": {
  #|        "inputs": [
  #|         [
  #|          "default",
  #|          "morphir/SDK:decimal#decimal"
  #|         ],
  #|         [
  #|          "a",
  #|          "morphir/SDK:decimal#decimal"
  #|         ],
  #|         [
  #|          "b",
  #|          "morphir/SDK:decimal#decimal"
  #|         ]
  #|        ],
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "truncate": {
  #|        "inputs": {
  #|         "d": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "round": {
  #|        "inputs": {
  #|         "d": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "gt": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:decimal#decimal",
  #|         "b": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "gte": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:decimal#decimal",
  #|         "b": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "eq": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:decimal#decimal",
  #|         "b": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "neq": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:decimal#decimal",
  #|         "b": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "lt": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:decimal#decimal",
  #|         "b": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "lte": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:decimal#decimal",
  #|         "b": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:basics#bool"
  #|       },
  #|       "compare": {
  #|        "inputs": {
  #|         "a": "morphir/SDK:decimal#decimal",
  #|         "b": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:basics#order"
  #|       },
  #|       "abs": {
  #|        "inputs": {
  #|         "value": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "shift-decimal-left": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int",
  #|         "value": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "shift-decimal-right": {
  #|        "inputs": {
  #|         "n": "morphir/SDK:basics#int",
  #|         "value": "morphir/SDK:decimal#decimal"
  #|        },
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "zero": {
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "one": {
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       },
  #|       "minus-one": {
  #|        "output": "morphir/SDK:decimal#decimal"
  #|       }
  #|      }
  #|     },
  #|     "local-date": {
  #|      "types": {
  #|       "local-date": {
  #|        "OpaqueTypeSpecification": {}
  #|       }
  #|      },
  #|      "values": {}
  #|     }
  #|    }
  #|   }
  #|  }
  #| }
  #|}