I guess this is a remnant from the old interface. We can pass input as const pointer now to avoid `makeShared` calls.