add struct success for sinks that do not fail (instead of the impractical void)