pub async fn compile_to<S, T, E>(
    self_: T,
    compiler: &mut ModuleCompiler<'_, '_>,
    thread: &Thread,
    file: &str,
    expr_str: &str,
    arg: E,
    serializer: S
) -> StdResult<S::Ok, Either<Error, S::Error>>
where S: Serializer, S::Error: 'static, T: Compileable<E>,