I'm looking at our Expression module and I notice that a lot of naming is to guide the usage of the APIs. Can we use our type system to guard some APIs like BinaryenRefFuncGetFunc to only accept a BinaryenRefFunc instead of any BinaryenExpressionRef? Would that require GADTs?
I'm looking at our Expression module and I notice that a lot of naming is to guide the usage of the APIs. Can we use our type system to guard some APIs like
BinaryenRefFuncGetFuncto only accept aBinaryenRefFuncinstead of anyBinaryenExpressionRef? Would that require GADTs?