Updating interface types and applicative magic sauce