diff --git a/packages/@react-facet/shared-facet/src/context.ts b/packages/@react-facet/shared-facet/src/context.ts
index 0c3cb092..eb44fb62 100644
--- a/packages/@react-facet/shared-facet/src/context.ts
+++ b/packages/@react-facet/shared-facet/src/context.ts
@@ -8,6 +8,8 @@ export const sharedFacetDriverContext = createContext<SharedFacetDriver>(dummyCo
 
 export const SharedFacetDriverProvider = sharedFacetDriverContext.Provider
 
-export const useSharedFacet = <T>(sharedFacet: SharedFacet<T>): Facet<T> => {
-  return sharedFacet(useContext(sharedFacetDriverContext))
+type InferFacet<T> = T extends SharedFacet<infer U> ? Facet<U> : never
+
+export const useSharedFacet = <T extends SharedFacet<unknown>>(sharedFacet: T): InferFacet<T> => {
+  return sharedFacet(useContext(sharedFacetDriverContext)) as InferFacet<T>
 }