don't bother guaranteeing a new Result from `then`

in some cases it can just return `this` so why not
optimize `coerce`