public ISemantReturn<ImmutableList<Tuple<Env, ExternDecln>>> GetExternDecln(Env env) { var declns = Semant(GetDeclns, ref env); var externDeclns = declns.ConvertAll(_ => Tuple.Create(_.Item1, _.Item2 as ExternDecln)); return SemantReturn.Create(env, externDeclns); } }