Higher-Order Supercompiler