What is the difference between a Result Str {} and Result Str *?
The first means if it returns an Err, the error payload is an empty record. The latter means if the error payload is an unbound value (which in practice means it should not return an error)
Really? I thought that Result Str * could mean Result Str []*. That would mean can return any error payload at all. I guess that is not the case?
Depends if it's an argument or a return value. If it's a return value that's compatible with any type, then it must never happen!
Because there is no real value that is compatible with all possible types
So if a function signature has this return type then it never returns the Err case
Ok. makes sense.
Last updated: Nov 09 2025 at 12:14 UTC