public static ISolver Create(IEnumerable<KeyValuePair<Tuple<Type, Type>, PipeOutputPackage>> graphEdges)
        {
            ISolver solver = new GraphEdgedSolver(graphEdges);
            solver = new SimplifyEnumerableTypeResolving(solver);

            return solver;
        }
        public static ISolver Create(IEnumerable <KeyValuePair <Tuple <Type, Type>, PipeOutputPackage> > graphEdges)
        {
            ISolver solver = new GraphEdgedSolver(graphEdges);

            solver = new SimplifyEnumerableTypeResolving(solver);

            return(solver);
        }