data ForeignObj : TypeisNumber : ForeignObj -> BoolisInteger : ForeignObj -> BoolisFloat : ForeignObj -> BoolisChar : ForeignObj -> BoolisString : ForeignObj -> BoolisProcedure : ForeignObj -> BoolisSymbol : ForeignObj -> BoolisNil : ForeignObj -> BoolisPair : ForeignObj -> BoolisVector : ForeignObj -> BoolisBox : ForeignObj -> BoolunsafeGetInteger : ForeignObj -> IntegerunsafeGetString : ForeignObj -> StringunsafeGetFloat : ForeignObj -> DoubleunsafeGetChar : ForeignObj -> CharunsafeFst : ForeignObj -> ForeignObjunsafeSnd : ForeignObj -> ForeignObjunsafeApply : ForeignObj -> ForeignObj -> ForeignObjunsafeForce : ForeignObj -> ForeignObjunsafeVectorRef : ForeignObj -> Integer -> ForeignObjunsafeUnbox : ForeignObj -> ForeignObjunsafeVectorLength : ForeignObj -> IntegerunsafeVectorToList : ForeignObj -> List ForeignObjmakeSymbol : String -> ForeignObjunsafeReadSymbol : ForeignObj -> StringevalSchemeStr : String -> IO (Maybe ForeignObj)debugScheme : ForeignObj -> IO ()data Direction : Typedata SchemeObj : Direction -> TypeNull : SchemeObj tCons : SchemeObj t -> SchemeObj t -> SchemeObj tIntegerVal : Integer -> SchemeObj tFloatVal : Double -> SchemeObj tStringVal : String -> SchemeObj tCharVal : Char -> SchemeObj tSymbol : String -> SchemeObj tBox : SchemeObj t -> SchemeObj tVector : Integer -> List (SchemeObj t) -> SchemeObj tProcedure : ForeignObj -> SchemeObj ReadbackDefine : String -> SchemeObj Write -> SchemeObj WriteVar : String -> SchemeObj WriteLambda : List String -> SchemeObj Write -> SchemeObj WriteLet : String -> SchemeObj Write -> SchemeObj Write -> SchemeObj WriteIf : SchemeObj Write -> SchemeObj Write -> SchemeObj Write -> SchemeObj WriteCase : SchemeObj Write -> List (SchemeObj Write, SchemeObj Write) -> Maybe (SchemeObj Write) -> SchemeObj WriteCond : List (SchemeObj Write, SchemeObj Write) -> Maybe (SchemeObj Write) -> SchemeObj WriteApply : SchemeObj Write -> List (SchemeObj Write) -> SchemeObj WriteevalSchemeObj : SchemeObj Write -> IO (Maybe ForeignObj)decodeObj : ForeignObj -> SchemeObj Readbackinterface Scheme : Type -> TypeScheme NamespaceScheme UserNameScheme NameScheme ModuleIdentScheme OriginDescScheme FCScheme LazyReasonScheme RigCountScheme IntegerScheme IntScheme Int8Scheme Int16Scheme Int32Scheme Int64Scheme Bits8Scheme Bits16Scheme Bits32Scheme Bits64Scheme StringScheme DoubleScheme CharScheme BoolScheme a => Scheme (List a)(Scheme a, Scheme b) => Scheme (a, b)Scheme a => Scheme (Maybe a)toScheme : Scheme a => a -> SchemeObj WritefromScheme : Scheme a => SchemeObj Readback -> Maybe aevalScheme : Scheme a => a -> IO (Maybe ForeignObj)decode : Scheme a => ForeignObj -> Maybe a