• This is an interesting experiment, but the use of reflect gives me pause and when you reach the last slide it describes the approach as absurd! I'm not sure if there is a concrete takeaway here in terms of something you could use in your own go code, but it does hint at a nicer solution for Go error handling, I wish go had some solution that let us take the very common pattern of either value,err and return err or proceed. That alone would remove a huge amount of boilerplate.

    value,err := myfunc()
    if err != nil {
    return err
    ... use value

    it'd be nice to have something more like:
    value |= myfunc() // return on error
    ... use value

    You don't always have to handle an error or wrap it with context at the callsite, sometimes you just want to pass it up the chain for someone else to deal with.