If this code fragment is really in a single file, then you don't need
use sheep;
Since the 'sheep' package is already in the symbol table. use is a bit confusing that way. The argument refers to a file, not a package. You have to trust that the file being use'd actually defines a package of the same name.