Revert "Take Program by value"

This reverts commit fe2c6824441bff382c7fc71eb2c4522050d211ff.