-HaskellObj rts_mkChar ( char c );
-HaskellObj rts_mkInt ( int i );
-HaskellObj rts_mkInt8 ( int i );
-HaskellObj rts_mkInt16 ( int i );
-HaskellObj rts_mkInt32 ( int i );
-HaskellObj rts_mkWord ( unsigned int w );
-HaskellObj rts_mkWord8 ( unsigned int w );
-HaskellObj rts_mkWord16 ( unsigned int w );
-HaskellObj rts_mkWord32 ( unsigned int w );
-HaskellObj rts_mkInt64 ( int64 i );
-HaskellObj rts_mkWord64 ( nat64 w );
-HaskellObj rts_mkFloat ( float f );
-HaskellObj rts_mkDouble ( double f );
-HaskellObj rts_mkStablePtr ( StgStablePtr s );
-HaskellObj rts_mkAddr ( void *a );
-HaskellObj rts_mkBool ( int b );
-HaskellObj rts_mkString ( char *s );
-
-HaskellObj rts_apply ( HaskellObj, HaskellObj );
+HaskellObj rts_mkChar ( Capability *, HsChar c );
+HaskellObj rts_mkInt ( Capability *, HsInt i );
+HaskellObj rts_mkInt8 ( Capability *, HsInt8 i );
+HaskellObj rts_mkInt16 ( Capability *, HsInt16 i );
+HaskellObj rts_mkInt32 ( Capability *, HsInt32 i );
+HaskellObj rts_mkInt64 ( Capability *, HsInt64 i );
+HaskellObj rts_mkWord ( Capability *, HsWord w );
+HaskellObj rts_mkWord8 ( Capability *, HsWord8 w );
+HaskellObj rts_mkWord16 ( Capability *, HsWord16 w );
+HaskellObj rts_mkWord32 ( Capability *, HsWord32 w );
+HaskellObj rts_mkWord64 ( Capability *, HsWord64 w );
+HaskellObj rts_mkPtr ( Capability *, HsPtr a );
+HaskellObj rts_mkFunPtr ( Capability *, HsFunPtr a );
+HaskellObj rts_mkFloat ( Capability *, HsFloat f );
+HaskellObj rts_mkDouble ( Capability *, HsDouble f );
+HaskellObj rts_mkStablePtr ( Capability *, HsStablePtr s );
+HaskellObj rts_mkBool ( Capability *, HsBool b );
+HaskellObj rts_mkString ( Capability *, char *s );
+
+HaskellObj rts_apply ( Capability *, HaskellObj, HaskellObj );