RAW:> Whoa!
OUT:> Thanks for the detailed response!
CNJ:> So then it looks like lambdas are a subset of monads? Because you can pass the function pointer around, and talk about its possible outputs, yeah? (since the compiler knows its return type)
CNJ:> That bit at the end where you talk about enforcing all cases looks a lot like what zig and rust do with their match statements.
QRY:> Is a "representational type" then like in zig (or in C++'s uncogly template metaprogramming) where you can write code that discusses the possible types of other things?
EXA:> So like a variable that holds the type information of a function would have a representational type?
ERR:> "reification" still doesn't quite make sense
CNJ:> I think I'd need to see lots of examples.
OUT:> You provided a lot more information than I expected, I think I got a lot out of this. Thanks again!