Slightly simpler template impl for forward declarations