Fix code design for the program type

As discussed in #143, it's better to attach the `Unuse()` function to
the type, even if it doesn't use it, rather than a standalone function
like before (`programUnuse()`)
Merge pull request #147 from tbruyelle/fix-code-design

Fix code design for the program type